NDK
文章平均质量分 80
孤独灬啸月
这个作者很懒,什么都没留下…
展开
-
(六)Android Studio 使用 JNI
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、C/C++ 到二进制文件对于 CPU 来说,只能识别 0101 这样的二进制,所以我们编写的 C/C++ 文件需要进行一系列的处理,转化为二进制文件,从而可以被 CPU 识别到。这中间主要分为 预处理–>编译–>汇编–>链接 四个步骤。1.预处原创 2018-01-11 09:55:45 · 366 阅读 · 0 评论 -
(十一)Android AndFix 热修复原理
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、so 的插件化在进行 Android 的热修复讲解之前,先大概讲一下 so 的插件化,这在热修复中需要用到。一个 so 可以通过路径去加载另外一个 so,从而实现一个 so 库调用另外一个 so 库中的方法。先来一个被调用的 so,这个s...原创 2018-04-26 21:09:12 · 586 阅读 · 0 评论 -
(十二)Android 系统启动原理(art 虚拟机)
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、虚拟机的启动Android 是一个 Linux 的虚拟机,当虚拟机启动的时候,会执行手机根目录下的 init.rc(实际上就是 .sh 文件) 这个可执行文件。在 init.rc 中,有一行 on init 执行命令。这是调用 init...原创 2018-05-06 19:30:55 · 737 阅读 · 0 评论 -
(十)Android AndFix 热修复使用
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、AndFix 和 Tinker热修复的作用以及好处不在这边描述,现在用的较多的热修复有 阿里的 AndFix 和 腾讯的 Tinker 。Tinker:通过分包技术,一个应用打包的时候可以达成多个 dex 包,当某个 dex 包中的代码出现...原创 2018-04-22 19:59:10 · 254 阅读 · 0 评论 -
(九)Android 增量更新
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、概述1.什么是增量更新对于平常的 Android 应用更新,大部分时候是在旧版本的代码上进行修改,打包发布。这时候,新旧版本间的差异是比较小的,增量更新就是我们在旧的应用版本基础上,只更新发生改变的,而不再是完全下载新的 apk,覆盖安装。原创 2018-02-07 17:15:41 · 786 阅读 · 0 评论 -
(二)JNI 访问 java 属性和方法
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、JNI 访问 java 属性值JNI 调用 C 的动态库,在动态库的方法中进行对 java 属性值的修改,这边分为两类,静态属性和非静态属性。java 代码:public class JNIMain { public nati原创 2018-01-06 11:52:05 · 443 阅读 · 0 评论 -
(七)JNI 源码分析、动态注册
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、native 作用JNITest :public class JNITest { static { System.loadLibrary("native-lib"); } public static原创 2018-01-15 16:09:12 · 511 阅读 · 0 评论 -
(五)JNI 引用、缓存
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、JNI 引用C 通过 JNI 进行操作 java 的对象的方法、属性,需要从 JVM 中获取到的引用。JNI 引用分为三种:局部引用、全局引用、弱全局应用。1.局部引用FindClass、NewObject、GetObjectClass、NewCharArray原创 2018-01-08 21:50:04 · 352 阅读 · 0 评论 -
(四)JNI 访问数组、异常
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、JNI 访问数组1.访问基本类型数组C:JNIEXPORT jbyteArray JNICALL Java_com_xiaoyue_JNIString_testArray(JNIEnv *env, jobject jobj, jintArray intArra原创 2018-01-08 19:56:50 · 800 阅读 · 0 评论 -
(一)JNI 基本流程、数据类型
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、概述JNI 全称 java native interface。使用环境:当 java api 不能满足我们程序的需要的时候,比如算法计算,图像渲染中,效率要求非常高,又或者需要访问一些已有的本地库。二、JNI 步骤1.编写 na原创 2018-01-03 21:25:19 · 324 阅读 · 0 评论 -
(八)Android Studio 中使用第三方的 so 库
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。在 Android Studio 中使用第三方的 so 库Android Studio 新建安卓项目,在 app 下默认有一个 libs 文件夹,把 so 库拷贝到 libs 下面,需要自己进行一定配置。1.在 app 下的 build....原创 2018-01-23 17:03:16 · 3858 阅读 · 0 评论 -
(三)JNI 中文乱码
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、分析在 JNI 中使用中文出现乱码的主要原因是 java、JNI 和 C、C++ 使用的编码不同。java 内部是使用的 16 bit 的 unicode 编码(utf-16)来表示字符串的,无论英文还是中文都是 2 字节。JNI 内部是使原创 2018-01-06 15:50:26 · 2176 阅读 · 0 评论 -
(十三)Android 修改系统启动动画
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。一、原理分析生活中使用的华为、小米、三星等手机,在开机的时候显示的各个产商的 logo,而不是像我们安卓模拟器那样是一个安卓机器人和 Android 文字。这是因为哥哥产商修改了各自手机的开机启动动画。在上一篇文章 中的 一、虚拟机的启动下的1...原创 2018-05-07 23:45:11 · 1849 阅读 · 2 评论