我有一个带有两个模块的 ndk 项目:
- abwrenderer - 本机库模块
- app - 本机和 java 混合,将 java 粘合到 abwrenderer
我今天早上刚更新到 AS 2.0 Preview 5,遇到了一些 gradle 相关的问题。
我升级到 gradle-2.10 并切换到 gradle-experimental:0.6.0-alpha5。尝试调试时,触发了 ndk 构建,我遇到了以下问题:
错误:错误:C:\android\projects\foo\abwrenderer\build\intermediates\binaries\debug\obj\armeabi-v7a\libabwrenderer.so:没有这样的文件或目录
现在,当我在 gradle-2.9 和 gradle-experimental:0.6.0-alpha3 上时,库是在这个目录中构建的。经过今天上午的升级,这些库现在位于:C:\android\projects\foo\abwrenderer\build\libs\abwrenderer\shared\armeabi-v7a\debug
有没有办法更新构建库的项目依赖项的搜索位置?
作为参考,我定义了对 abwrenderer 项目的依赖如下(build.gradle (app)):
android.sources {
main {
jni {
source {
srcDirs 'src/main/jni'
}
dependencies {
project ":abwrenderer" buildType "debug" linkage "shared"
}
}
jniLibs {
source {
srcDirs 'src/main/libs'
}
}
}
}
abwrenderer 项目的 build.gradle 如下:
apply plugin: "com.android.model.native"
model {
android {
compileSdkVersion = 23
}
android.ndk {
moduleName = "abwrenderer"
cppFlags.addAll(["--std=c++11",
"-fexceptions",
"-frtti"])
ldLibs.addAll(["android", "EGL", "GLESv3", "log", "dl"])
stl = "c++_static"
debuggable = true
}
android.sources {
main {
jni {
exportedHeaders {
srcDir "src/main/jni"
}
}
}
}
}
我已经使缓存无效并重新启动,完成了干净的构建等。任何帮助将不胜感激!