我很难让Gradle通过NDK构建编译我的JNI代码的调试版本。我已经将调试构建设置为可在build.gradle文件中调试,如下所示:
buildTypes {
debug {
debuggable true
jniDebuggable true
}
}如果我签出Build/Edit类型,我可以确认这些开关正在生效。但是,一旦我检查了ndkBuild_build_command.txt目录中的.externalNdkBuild文件,就会注意到以下条目:
NDEBUG=1
APP_PLATFORM=android-9我可以确认我的JNI代码似乎是不可调试的。即使断点触发,变量都在LLVM中显示“不可用的变量”。
对于NDEBUG为什么会在调试版本中打开,有什么想法吗?作为一个副手,我也不知道android-9平台正在进入哪里.我不会把它放在我能找到的任何地方。
发布于 2016-10-16 22:33:17
如果在externalNativeBuild,中使用AndroidStudio2.2,则可以通过参数覆盖在Application.mk或NDK_DEBUG=1中设置APP_OPTIM=debug。
externalNativeBuild {
ndkBuild {
arguments "NDK_DEBUG:=1"
}
} https://stackoverflow.com/questions/40072016
复制相似问题