3

尝试使用 android-ndk-r8b 创建共享库时显示错误

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

对于我的应用程序,我只是创建了一个 jni 文件夹,其中包含一个 ndk1.c 文件和 Android.mk 文件

建库步骤:

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 回答