Android Native Development Kit ( NDK ) は、C / C++で書かれたコードをAndroid用のARMまたはx86ネイティブ コード(またはその64 ビット版)にコンパイルするためのクロス コンパイルツールを提供します。[ 4 ] [ 5 ] NDK はClangコンパイラを使用して C/C++ をコンパイルします。GCCはNDK r17 まで含まれていましたが、2018 年の r18 で削除されました。
ネイティブライブラリは、標準の Android Java クラスの一部であるを使用して、 Android ランタイムで実行されているJavaコードから呼び出すことができます。[ 6 ] [ 7 ]System.loadLibrary
コマンドラインツールはNDKでコンパイルし、adbを使用してインストールできます。[ 8 ]
Android はC ライブラリとしてBionic を、C++ 標準ライブラリとしてLLVM libc++を使用しています。NDK には、zlib圧縮、OpenGL ESまたはVulkanグラフィックス、OpenSL ESオーディオ、ログ記録、カメラへのアクセス、ニューラル ネットワークの高速化など、さまざまな Android 固有の API も含まれています。[ 9 ]
NDKにはCMakeと独自の( GNU Makendk-buildに基づく)サポートが含まれています。Android StudioはGradleからこれらのどちらかを実行することをサポートしています。その他のサードパーティツールを使用すると、NDKをEclipse [ 10 ]およびVisual Studio [ 11 ]に統合できます。
CPU プロファイリングに関しては、NDK には simpleperf [ 12 ]も含まれています。これはLinux の perf ツールに似ていますが、Android および特に Java/C++ 混合スタックのサポートが優れています。
{{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク){{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク)