在之前的一篇文章有介绍了Android的NDK开发的简单流程,假如这块还没有实践过,建议先去看看这篇文章,把整个流程搞懂,有助于这篇文章的学习Windows环境下Android Studio进行NDK开发
这里我主要讲述如何配置环境,使得我们可以对JNI中的C代码进行调试。关于整体的说明,在下篇文章将会通过翻译官方提供的文档进行阐述
环境的配置
配置根目录的build.gradle文件
buildscript {
repositories {
jcenter()
}
dependencies {
// classpath 'com.android.tools.build:gradle:2.0.0'
classpath "com.android.tools.build:gradle-experimental:0.7.0-alpha4"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
主要是将classpath替换成com.android.tools.build:gradle-experimental,这是实验性的版本,说明目前还在测试阶段
配置主工程的build.gradle文件
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.3"
defaultConfig {
applicationId = "com.example.samsung.ndktest"
minSdkVersion.apiLevel = 21
targetSdkVersion.apiLevel = 23
versionCode = 1
versionName = "1.0"
}
ndk{
moduleName = "JniTest" //生成的so名字
abiFilters.addAll(['armeabi','armeabi-v7a','x86'])
}
buildTypes {
release {
minifyEnabled = false
proguardFiles.add(file('proguard-android.txt'))
}
}
}
}
使用com.android.model.application替代com.android.application
所有的配置需要使用model{}括起来
所有的属性配置使用等号(=)连接
下载LLDB工具
这是一个C、C++的调试器
增加调试选项
假如上述的lLLDB工具没有下载,则在这个页面的下方会有错误提示,也可以点击fixed,然后会自动跳转到下载页面
使用
选择调试模式
执行
- 在C、C++代码中选择短点
- 执行
总结
至此,NDK开发中针对C、C++的断点调试就可以使用了,下篇文章将通过翻译官方提供的文档,给出更多的建议和方法