3

android-ndk-r8b を使用して共有ライブラリを作成しようとすると、エラーが表示されます

Your APP_BUILD_SCRIPT points to an unknown file /home/myLib/ndk1/jni/Android.mk 
Android NDK Aborting...    .Stop

私のアプリケーションでは、ndk1.c ファイルと Android.mk ファイルを含む jni フォルダーを作成しました。

ライブラリを構築する手順:

export ARM_ROOT=/home/myLib/android-ndk-r8b
    export ARM_TOOL=/home/myLib/android-ndk-r8b/toolchains/arm-linux-androideabi-   
4.4.3/prebuilt/linux-x86
    export ARM_LIB=/home/myLib/android-ndk-r8b/platforms/android-8/arch-arm/usr/lib
    export ARM_LIBO=/home/myLib/android-ndk-r8b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3
    export ARM_INC=/home/myLib/android-ndk-r8b/platforms/android-8/arch-arm/usr/include
    export ARM_PRE=arm-linux-androideabi
    export NDK=/home/myLib/android-ndk-r8b 
    export PATH=$PATH:/home/myLib/android-ndk-r8b
    export NDK_PROJECT_PATH=/home/myLib/ndk1

あなたの貴重な提案を手伝ってください!!

4

2 に答える 2

4

これは ndk 初心者向けの非常に優れたチュートリアルです http://marakana.com/forums/android/examples/49.html

チュートリアルでは: android-ndk-r8b でビルドしているので、次のステップを置き換えます。

go to  your NDK-HOME and  run  make APP=ndk_demo

これを行う

go to your android project directory and run ndk-build in terminal

チェックリスト

1) パス NDK パスが設定されていることを確認します

2) ヘッダー ファイルを生成し、jni フォルダーに移動したことを確認します。

3) ヘッダー ファイルから適切な関数シグネチャを C ファイルにコピーしました。これは、他のパッケージ名とクラス名を使用しているときに関数シグネチャをやみくもにコピーする例を参照しながら、人々が間違いを犯す場所です。

JNIEXPORT jint JNICALL Java_com_your_package_class_method(JNIEnv *d, jobject e, jstring f);

4) Make ファイルが jni フォルダー内に存在し、正しい c ファイル名が含まれている

5) ndk-build を正しいディレクトリ、つまりプロジェクトのホーム ディレクトリで実行している

于 2012-09-28T12:06:47.853 に答える
1

「ndk-build」で詳細を試してください....したがって、.mkの指示でビルドが行っていることを段階的にたどることができます

ndk-build -BV=1

詳細については上記を使用してください ....

于 2012-09-20T15:08:40.610 に答える