【问题标题】:Failed to create Shared Library using android-ndk in Linux?在 Linux 中使用 android-ndk 创建共享库失败?
【发布时间】:2012-09-12 18:11:06
【问题描述】:

尝试使用 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

请帮忙提出宝贵的建议!!

【问题讨论】:

    标签: android linux build android-ndk


    【解决方案1】:

    尝试使用“ndk-build”进行详细说明...。这样您就可以按照 .mk 中的说明一步一步了解构建正在做什么

    ndk-build -B V=1

    使用上面的更多细节......

    【讨论】:

    • 感谢您的回复。你能解释一下你提到的ndk-build步骤吗?因为我是构建共享库的初学者。
    • 你在哪里安装了 NDK?读取 $$NDK/docs 目录中的所有 html 文件。如果您不熟悉这些谨慎的步骤,可以在 GNU 文档(CC、LD、NM、AR)中了解它们
    【解决方案2】:

    这是一个非常适合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,即项目主目录

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 2022-01-20
      • 2015-03-27
      • 2015-04-26
      • 1970-01-01
      相关资源
      最近更新 更多