Android Studio JNI学习之(5)-调试(LLDB与基于gradle-experimental插件)

来源:互联网 发布:淘宝ar红包 编辑:程序博客网 时间:2024/06/06 19:45

要调试原生代码必需先安装LLDB与基于gradle-experimental插件

LLDB

在tools->Android->sdk manager 中的SDK tools中找到LLDB并安装.


gradle-experimental


classpath "com.android.tools.build:gradle-experimental:0.7.3"

不同版本的Experimental Plugin需要不同版本的gradle
gradle版本參照

app/gradle.build

apply plugin: 'com.android.model.application'model { //这一行是新加的,对应上边的修改,    /**     * 这里要注意一下,如果使用gradle-experimental,参数赋值要使用 = 号,而不是空格,     * 所以要把原来文件中的空格都用等号去替换;     * 还有一部分参数使用的函数也与原来不一样,     * 实在不能确定的就找出ndk samples中的build.gradle文件对比一下。     */    android {        compileSdkVersion = 25        buildToolsVersion = "25.0.2"        defaultConfig {            applicationId = "com.eric.pro"            minSdkVersion.apiLevel = 10         //这两个参数和原来有点不一样,多了apiLevel            targetSdkVersion.apiLevel = 25            versionCode = 1            versionName = "1.0"        }        ndk {       //NDK设置            moduleName = "app"    //动态库的名称            toolchain = 'clang'     //编译器,据说这个比gcc要快,没有这个写native代码时没有自动补全的功能            CFlags.addAll(['-Wall', '-DHELLO_2'])    //对应gcc中的编译选项 CFLAGS,方括号内是一个数组,可以有多个值            CFlags.add("-DHELLO_3")            ldFlags.addAll(["-L../lib"]) //库文件路径            ldLibs.addAll(['log']) //库文件名            stl = "gnustl_static" //指示使用动态库还是静态库,stlport_static            abiFilters.addAll('armeabi', 'armeabi-v7a', 'x86', 'arm64-v8a') //CPU架构        }        buildTypes {            release {                ndk.debuggable = false                minifyEnabled = true                proguardFiles.add(file('proguard-rules.pro'))            }            debug {                ndk.debuggable = true //有这个才会支持调试native 代码            }        }    }}dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    compile 'com.android.support:appcompat-v7:25.3.1'    compile 'com.android.support.constraint:constraint-layout:1.0.2'}


配置完毕,直接打断点调试即可(与java一样)


使用gradle-experimental构建ndk,比以前简单多了,我们对比一下,我觉得最大的好处是Android.mk、Application.mk这两个文件再也不用写了


阅读全文
0 0
原创粉丝点击