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
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
- Android Studio JNI学习之(5)-调试(LLDB与基于gradle-experimental插件)
- Android Studio NDk调试(基于gradle-experimental插件与LLDB)
- Android Studio NDK调试(基于gradle-experimental插件与LLDB)
- 使用Android Studio进行NDK开发和调试(gradle-experimental之官方文档的翻译说明)
- Android Studio 调试Gradle插件
- Android Studio 调试Gradle 插件
- Android Studio Experimental Gradle Plugin User Guide
- 使用Android Studio进行NDK开发和调试(gradle-experimental的使用)
- 使用Android Studio和Gradle编译NDK项目之Experimental Plugin User Guide
- android studio jni开发gradle 学习
- Android studio - experimental gradle 0.4.0.0 with openCV
- NDK开发-Android Studio+gradle-experimental开发ndk
- dc学习之基于Android Studio的jni开发总结
- Android Studio之Gradle学习
- JNI Android Studio 调试
- 个人常用gradle插件与android studio插件
- Android Studio使用gradle-experimental构建NDK工程(无需Android.mk、Application.mk文件)
- Android Studio使用gradle-experimental构建NDK工程(无需Android.mk、Application.mk文件)
- 异常:java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactor
- Angualr2 格式化字段
- maven中引入oracle驱动报错Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0
- lianjie
- linux下automake用法
- Android Studio JNI学习之(5)-调试(LLDB与基于gradle-experimental插件)
- IntelliJ IDEA Maven Gradle的配置
- Java内存泄漏之静态内部类
- Mongodb 模糊查询
- Android Studio安装
- javaWEB中的四种域对象
- 解析xml的四种方法详解
- Mac使用技巧
- UNIX的文件访问控制——chmod