如何让NDK调试在Android Studio中工作?
Android Studio不会停留在C ++代码的断点处,这是我迄今为止所做的:
在AndroidManifest.xml中:
android:debuggable="true"
在build.gradle(这可能是问题):
sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = []
}
task ndkBuild(type: Exec) {
commandLine android.ndkDirectory.getAbsolutePath() + '' + 'ndk-build.cmd', '-C', file('src/main/jni').absolutePath, 'NDK_DEBUG=1'
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
将应用程序配置为Android Studio上的本机应用程序
在C ++代码中放置断点
调试应用程序
这似乎工作,因为它说:“现在启动本机调试会话”此外,我可以用停止按钮暂停应用程序,但没有断点工作。
感谢您的帮助
通过你的build.gradle的语法看起来你不使用gradle的实验性插件,没有它,你将无法在android studio中调试原生c / c ++。 欲了解更多信息,请阅读:Android NDK预览
在Run-> Debug Configuration“Debugger”选项卡中,选择Debug type为“Native”。 在“发布之前”,如果Android studio报告冲突,请接受“修复”它的建议。 Android工作室将下载lldb库。
点击'调试'底部并等待直到调试器附加到进程。
现在你可以在调试windown中看到变量。
如果你还在寻找,Android Studio最近增加了对ndk-build和CMake项目直接集成的支持:http://tools.android.com/tech-docs/external-c-builds
亲切的问候,乔莫
链接地址: http://www.djcxy.com/p/96833.html上一篇: How to get NDK debugging to work in Android Studio?
下一篇: How do you bind a language (python, for example) to another (say, C++)?