我正在尝试在 Android Studio 中编译 OPUS。当我从命令行调用 ndk-build 时,一切正常。当我从 Android Studio 构建它时,它失败了。
我的 app.gradle:
externalNativeBuild {
ndkBuild {
path 'src/main/jni/Android.mk'
}
}
Android.mk 有一些包括:
include celt_sources.mk
错误:
Error while executing process G:\ASDK\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=F:\TP2\ram\android\app\src\main\jni\Android.mk NDK_APPLICATION_MK=F:\TP2\ram\android\app\src\main\jni\Application.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=0 APP_PLATFORM=android-19 NDK_OUT=F:/TP2/ram/android/app/build/intermediates/ndkBuild/release/obj NDK_LIBS_OUT=F:\TP2\ram\android\app\build\intermediates\ndkBuild\release\lib APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
为什么 NDK_PROJECT_PATH 为空?如何在调用 ndk-build 之前告诉 Android Studio 设置当前目录?
最好的,
您可能遵循此或类似解决方案为 Android 构建准备作品。像这样的陈述
include celt_sources.mk
不是一个好习惯,因为它们强制您ndk-build
在与Android.mk文件相同的目录中运行。以这种方式强制 Android Studio 工作并不太难,将以下块添加到您的build.gradle:
android {
defaultConfig {
externalNativeBuild {
ndkBuild {
arguments '-C src/main/jni'
}
}
}
}
但是,遵循可以在 WWW 上找到的许多其他版本的Android.mk for opus之一要干净得多,例如这个使用
include $(LOCAL_PATH)/celt_sources.mk
这样,构建不依赖于ndk-build
命令的工作目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句