Android_NDKとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Android_NDKの意味・解説 

Android Native Development Kit

(Android_NDK から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/01/15 17:22 UTC 版)

Android NDK
開発元 Google
最新版
r27c (27.2.12479018)[1][2] / 2024年10月9日 (3か月前) (2024-10-09)[3]
リポジトリ https://android.googlesource.com/platform/ndk.git
対応OS Android 5.0 Lollipop (API 21) 以降
プラットフォーム x86 / x64 / ARM / ARM64[4]
種別 ソフトウェア開発キット
ライセンス Apache License v2.0[5]
公式サイト https://developer.android.com/ndk
テンプレートを表示

Android Native Development Kit (Android NDK) は、Androidオペレーティングシステム上で動作するアプリケーションソフトウェアを、C言語あるいはC++を用いたネイティブコードによって開発できるようにするためのソフトウェア開発キット[6]GCC/Clangツールチェイン、標準CライブラリBionic libc英語版標準C++ライブラリのlibstdc++/libc++、AndroidネイティブAPIなどを含む。なお、GCCが同梱されている最後のNDKバージョンはr17cであり、r18では取り除かれた[7][8]リンカに関しては、NDK r21まではldがデフォルトで使われていたが、r22からはLLVMのLLDがデフォルトで使われるようになった。

概要

Androidのアプリケーション開発には通例Java仮想マシンDalvik仮想マシン/Android Runtime)上で動作するJavaあるいはKotlinといったJVMマネージ言語を利用する。マネージ言語はメモリ管理や生産性、移植性の点で優れているが、メモリへの直接アクセスによるパフォーマンス向上や、x86SSEあるいはARMのNEONといったプロセッサ (CPU) アーキテクチャ固有の拡張命令の使用、またOpenCVのような既存のC/C++コード資産を活用する目的で、NDKを用いたマシンネイティブな開発が許可されている。ただしNDKを利用すると、CPUアーキテクチャごとにバイナリを用意しなければならなくなるというデメリットもある。

Android 2.3以降ではNativeActivityのサポートにより、制約はあるもののC/C++のみでアプリケーション開発をすることもできるようになっている。JVMとネイティブコード間の相互運用には、一般的なデスクトップのJavaアプリケーション開発時と同様、Java Native Interface (JNI) を利用できる。Androidのグラフィカルユーザーインターフェイス (GUI) ライブラリ(ウィジェット・ツールキット)など、上位レベルのAPIはAndroid SDKに含まれるが、大半はJVM言語向けにしか提供されておらず、C/C++向けには提供されていないため、C/C++から利用するにはJNIを経由する必要がある。

NDKにおけるAndroid固有のネイティブAPI[9]は、"A" で始まる名前が付けられており、JVM言語用APIとよく似たものも提供されている。

新しいバージョンのAndroid OSで追加された機能をNDK経由で利用する場合、Android SDK経由でJVM言語用APIを使うときと同様に、minSdkVersionを設定しておくことで、利用可能なAPIセット(関数の集合)がコンパイル時に静的に決定される[10]。一方、実行環境に応じてminSdkVersionよりも新しいAPIを使用したい場合は、dlopen()dlsym()を使って関数エントリポイントを動的ロードする(リフレクションに相当)か、弱いAPI参照を使う方法がある[11]

最新のNDKでは、ある程度古いバージョンのAndroid OSはサポートが打ち切られている。r18ではIce Cream Sandwich (Android 4.0; API 14, 15) のサポートが打ち切られた。r24ではJelly Bean (Android 4.1-4.3; API 16-18) のサポートが打ち切られた。r26ではKitKat (Android 4.4; API 19-20) のサポートが打ち切られた[7][8]

脚注

関連項目

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Android_NDK」の関連用語

Android_NDKのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Android_NDKのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのAndroid Native Development Kit (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS