Android

Android JNI 调用时的异常处理

Android JNI 调用时的异常主要有如下两种: Native 代码调用 Java 层代码时发生了异常要处理 Native 代码自己抛出了一个异常让 Java 层去处理
2018-05-16
3 min read

Android JNI 中的引用管理

在 Native 代码中有时候会接收 Java 传入的引用类型参数,有时候也会通过 NewObject 方法来创建一个 Java 的引用类型变量。 在编写 Native 代码时,要注意这个代表 Java 数据结构类型的引用在使用时会被 GC 回收的可能性。
2018-05-16
6 min read

Android JNI 调用时缓存字段和方法 ID

在 JNI 去调用 Java 的方法和访问字段时,最先要做的操作就是获得对应的类以及对应的方法 id。 事实上,通过 FindClass 、GetFieldID、GetMethodID 去找到对应的信息是很耗时的,如果方法被频繁调用,那么肯定不能每次都去查找对应的信息,有必要将它们缓存起来,在下一次调用时,直接使用缓存内容就好了。 缓存有两种方式,分别是使用时缓存和初始化时缓存。
2018-05-07
2 min read

Android 通过 JNI 调用 Java 类的构造方法和父类的方法

Android 还可以通过 JNI 来调用 Java 一个类的构造方法,从而创建一个 Java 类。
2018-05-07
4 min read

Android 通过 JNI 访问 Java 字段和方法调用

在前面的两篇文章中,介绍了 Android 通过 JNI 进行基础类型、字符串和数组的相关操作,并描述了 Java 和 Native 在类型和签名之间的转换关系。 有了之前那些基础,就可以实现 Java 和 Native 的相互调用了,在 Native 中去访问 Java 类的字段并调用相应的方法。
2018-05-07
4 min read

Android JNI 数组 操作

JNI 中有两种数组操作,基础数据类型数组和对象数组,JNI 对待基础数据类型数组和对象数组是不一样的。
2018-05-07
5 min read

Android JNI 基本操作

自从 Android Studio 升级到 2.3 版本以后,使用 CMake 进行编译就方便多了,不需要再写 Android.mk 了,也不需要用 javah 来生成头文件了,直接写好 native 方法,快捷方式就可以生成对应的 C++ 方法,只要专注写好 C++ 代码,CMake 就可以指定的 CPU 架构生成对应的 SO 库。
2018-05-07
7 min read

Android Camera 模型及 API 接口演变

要了解 Android Camear 相机模型的演变,首先还是得了解硬件抽象层 HAL 相关的知识内容。
2018-04-12
5 min read

Android 相机开发中的尺寸和方向问题

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 在 Android Camera 开发中,两个比较闹心的问题就是尺寸和方向了。
2018-04-10
7 min read

搭建 Android 反编译环境

在 MAC 上搭建 Android 反编译环境主要就是三个东西:apktool 、dex2jar 、jd-gui 。
2018-01-31
3 min read