これを行うために、Android NDKを使用してAndroid用のC / C ++アプリケーションを作成する方法を習得しました。 NDKを使用すると、Java用のネイティブメソッド(C / C ++)とコマンドラインから実行する実行可能アプリケーションの両方のライブラリを作成できます。
ここでは、最初のステップを迅速かつ簡単に行う方法を説明します。 Windows用のAndroid NDKが不便であるため、事前に予約するため、OSXとLinuxについてさらに説明します。 Ubuntu仮想マシンが助けになります!
書かれたものは、すでに次の手順を試した人向けです。
1. C / C ++でHello Worldを作成しました。
2. ADB、SDKをインストールして試しました。
3. Androidスマートフォンでデバッグモードをオンにしました( デバッグモード )。
次のステップは、NDKをマシンに配置し、環境変数を設定することです。 不具合があるため、ndkの最新バージョンをインストールしないことをお勧めします。 私はndk-r10dを自分で置きました。 こちらの手順をお読みください: UbuntuおよびSDK | NDK入門ガイド | ツール、ADB、SDK、NDK for Mac 。
次に、2つの整数の単純なコンソール加算器の作成を検討します。 simpleAppディレクトリを作成し、その中にjniサブディレクトリを配置します。 jniでは、simpleApp.cアプリケーションのソースコードを使用して、次の内容のファイルを作成する必要があります。
#include <stdio.h> int main() { int a,b; printf("Enter two numbers a and b: "); scanf("%d %d", &a, &b); printf("a+b = %d\n", a+b); return 0; }
次に、同じディレクトリで、Android.mkのコンパイル設定を使用してファイルを作成する必要があります。 このファイルの詳細な説明は、Android.mkのドックで入手できますが、コンパイルに必要な最小限のコンテンツのみを提供します。
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := simpleApp LOCAL_SRC_FILES := simpleApp.c # APP_ABI := armeabi # ARM ( ) TARGET_ARCH_ABI := armeabi include $(BUILD_EXECUTABLE) # -
simppleApp.cとAndroid.mkを準備した後、ターミナルからsimpleAppディレクトリに入り、ndk-buildコマンドを実行します。
$ cd simpleApp/ simpleApp$ ndk-build [armeabi] Compile thumb : simpleApp <= simpleApp.c [armeabi] Executable : simpleApp [armeabi] Install : simpleApp => libs/armeabi/simpleApp
/ libs /フォルダーがsimpleAppディレクトリに表示されます。 異なるプラットフォーム用の実行可能ファイルを含むサブディレクトリが表示されます。 たとえば、armeabiディレクトリ(多くの一般的なデバイスに適しています)からarmプラットフォームのファイルを取得し、adbとpushコマンドを使用して/ data / local / tmpディレクトリの実際の電話にコピーします。
simpleApp$ cd libs/armeabi/ armeabi$ adb push simpleApp /data/local/tmp [100%] /data/local/tmp/simpleApp
次に、ターミナルからデバイスに移動し、simpleAppアプリケーションのあるディレクトリに移動して実行します。
armeabi$ adb shell shell@m3:/ $ cd /data/local/tmp shell@m3:/data/local/tmp $ ./simpleApp Enter two numbers a and b: 6 3 a+b = 9
いいね! コンソールアプリケーションは動作を開始し、数字の入力を要求し、正しい結果を出しました! 私のメモがAndroid NDKツールをマスターする最初のステップで誰かを助けることを願っています。