在gradle.build文件中添加以下代码:
android {
compileOptions {
debuggable true
}
//为debug版本添加ndk调试符号
buildTypes {
debug {
ndk {
debugSymbolLevel 'FULL'
}
}
}
}
说明:
在gradle.build文件的android部分,添加compileOptions的debuggable为true,允许生成调试符号。在buildTypes中,为debug版本添加ndk调试符号,设置debugSymbolLevel为'FULL',这样就可以在运行时生成本地调试符号了。
示例代码:
void JNICALL Java_MyActivity_createNativeCrash(JNIEnv* env, jobject obj) {
int* null_pointer = 0;
*null_pointer = 42;
}
以上代码会在JNI层生成空指针异常,在Android Studio的调试模式下,开启ndk调试符号后,可以在代码中打断点,查看具体出错位置和信息。