瑞芯微Rockchip开发者社区
直播中

李志静

7年用户 1382经验值
私信 关注
[问答]

RK3288 android7.1.2 HAL层添加I2C Service怎么实现?

RK3288 android7.1.2 HAL层添加I2C  Service怎么实现?

回帖(1)

李恬恬

2022-3-2 17:29:55
该案例中,最后app(java 层调用i2c server)是在源码中进行编译的可以找到依赖文件,正常调用。

如果在android studio 中编译会找不到相应的依赖文件,导入以下两个import 会报错。

import android.os.ServiceManager;
import android.os.IIICService;
前言:上述的两个依赖包的使用,我们需要在android studio 中加载库classes.jar ,该库中包含了所有framework 下类接口,在目录:

android7.1.2/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates  下可以找到。



解决方案详细步骤如下:

1)mm 编译模块不会把i2c server 模块添加进classes.jar  ,所以要再次对源码进行make ,由于添加安卓系统API或者修改@hide的API后,无法make 编译通过,所以执行make前需要先执行

make update-api
再执行make ,然后找到源码根目录 :out/target/common/obj/JAVA_LIBRARIES/framework_intermediates 下的classes.jar 查看修改时间,是否已修改(如果正常make 编译通过,时间一定会更新)。

2)将classes.jar 文件放入android studio 中的libs 文件中



3)右击classes.jar 文件,选择Add As Library ,弹出对话框,点击OK,加载完成就可以看到

import android.os.ServiceManager;
import android.os.IIICService;

不再是红色,已经处于可以可以调用状态,通过Ctrl+左击 可以查看iic 类接口;

4)android studio 编译app通过,就可以通过adbwireless  将其无线安装到rk3288 的系统中,可以正常对iic 进行操作。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分