1.JNI的含义
JNI即为java native interface Java本地接口;JNI是用来调用本地方法的技术,用来使Java和C/C++进行通信。
简单来说,Java运行一个程序需要和不同的系统进行交互,在windows里就要和windows底层平台交互,mac里就要和mac的底层平台交互, JVM就是通过大量的JNI技术能够使Java运行在不同的系统平台当中,与不同的系统平台底层进行交互。
2.camera中新增JNI方法实例
案例背景:在实现GMS核心服务的时候,有涉及到需要在Camera中新增一个JNI方法提供给java层调用,便于在GMS测试途中来禁用扫码头
通常涉及以下几个步骤
- 声明Java的native方法:在Java类中声明native方法。
路径:frameworks/base/core/java/android/hardware/Camera.java
tips:新增的方法需要更新api 路径:system/frameworks/base/core/api/current.txt 建议使用命令去更新api,手动更新容