我想构建Gstreamer
来源,它需要NDK
。
我正在设置SDK Manager
- > Android SDK
- > SDK Tools
- > NDK
安装
我设置local.properties
dk:dir="C\:\\Users\\ddd\\AppData\\Local\\Android\\sdk\\ndk-bundle
。
设置ndk后,我尝试构建它,但执行失败。
Execution failed for task ':app:ndkBuild'. > Process 'command 'C:\Users\ddd\AppData\Local\Android\sdk\ndk-bundle\ndk-build.cmd" finished with non-zero exit value 2
消息。
如何在android上设置ndk?
答案 0 :(得分:5)
我从上面推断出您已经安装了NDK,请确保您还安装 CMake和LLDB 。 (安装后重启Android Studio)
如果问题仍然存在,请尝试删除ndk库中的“obj”文件夹(位于“yourLibary / main / src / obj”)并重建。
这解决了我的问题。
答案 1 :(得分:3)
要查找特定问题,请检查Android Studio中的构建标签,以查看哪个任务失败。对我来说,这是任务“ cleanNative”。
然后使用-debug 选项从终端手动运行此任务。
在Mac或Linux上:
./gradlew cleanNative --debug
在Windows上:
gradlew cleanNative --debug
然后从日志中查看失败的原因。就我而言,这是错误的ABI设置:
10:24:27.140 [QUIET] [system.out] Android NDK: The armeabi ABI is no longer supported. Use armeabi-v7a.
10:24:27.140 [QUIET] [system.out] Android NDK: NDK Application 'local' targets unknown ABI(s): armeabi
10:24:27.140 [ERROR] [system.err] /Users/michal-home/Library/Android/sdk/ndk-bundle/build/core/setup-app.mk:79: *** Android NDK: Aborting . Stop.
10:24:27.140 [QUIET] [system.out] Android NDK: Please fix the APP_ABI definition in /path-to-app/app/src/main/jni/Application.mk
答案 2 :(得分:1)
您需要确保NDK设置正确 - 转到文件 - >项目结构 - > SDK位置并确保正确设置NDK位置。如果是,可能由于代码的某些问题导致编译失败,我们将需要更多信息以帮助您。
答案 3 :(得分:0)
检查您的android项目路径。
我在文件夹名称中有空格时也遇到类似的问题。避免那样的事情或ndk无法完成工作
。\ Users \ User1 \ Desktop \ androidprojects \ my project \ androidproject1
代替使用
。\ Users \ User1 \ Desktop \ androidprojects \ myproject \ androidproject1
答案 4 :(得分:0)
在我的案例和项目中,使用私有ndk版本(Revision 17c)很有帮助。所以我只把它放在'C:\ Users \ UserName \ AppData \ Local \ Android \ sdk \ ndk-bundle'
另一个有用的问题是将* .so文件放在jniLibs文件夹中: