android添加i2c-tools工具

1、下载i2c工具,下载你需要的版本:

下载地址:Index of /pub/software/utils/i2c-tools/

2、这里以版本i2c-tools-4.1.tar.gz为例,首先,解压该压缩包,将文件i2c-tools-4.1置入android/external/目录下

3、在i2c-tools-4.1中添加编译文件Anddoid.mk

复制代码
LOCAL_PATH:= $(call my-dir)
 
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
	$(LOCAL_PATH)$(KERNEL_DIR)/include \
	$(LOCAL_PATH)/include/i2c/smbus.h
LOCAL_SRC_FILES := tools/i2cbusses.c \
	tools/util.c \
    lib/smbus.c
LOCAL_MODULE := i2c-tools
include $(BUILD_STATIC_LIBRARY)
 
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:=tools/i2cdetect.c
LOCAL_MODULE:=i2cdetect
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
	$(LOCAL_PATH)/$(KERNEL_DIR)/include \
	$(LOCAL_PATH)/include/i2c/smbus.h
include $(BUILD_EXECUTABLE)
 
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:=tools/i2cget.c
LOCAL_MODULE:=i2cget
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
	$(LOCAL_PATH)/$(KERNEL_DIR)/include \
	$(LOCAL_PATH)/include/i2c/smbus.h
include $(BUILD_EXECUTABLE)
 
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:=tools/i2cset.c
LOCAL_MODULE:=i2cset
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
	$(LOCAL_PATH)/$(KERNEL_DIR)/include \
	$(LOCAL_PATH)/include/i2c/smbus.h
include $(BUILD_EXECUTABLE)
 
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:=tools/i2cdump.c
LOCAL_MODULE:=i2cdump
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
	$(LOCAL_PATH)/$(KERNEL_DIR)/include \
	$(LOCAL_PATH)/include/i2c/smbus.h
include $(BUILD_EXECUTABLE)

4、然后source,lunch检索一下

5、进入到android/external/i2c-tools-4.1目录下,执行"mmm",进行模块编译,或者进行./build.sh -AUCK全编,编完后,在路径"out/target/product/xxx/system/bin"目录下会生成4个执行文件,如下:

i2cdetect

i2cdump

i2cget

i2cset

6、也可以在编译系统的时候把该模块添加进来,在device/xxx/device.mk里面添加:

PRODUCT_PACKAGES += \

i2cdetect \

i2cget \

i2cdump \

i2cset

7、将文件推送到android设备的system/bin目录下 或者重编整个系统,再整体下载镜像,这样设备就附带有这4个命令了

相关推荐
_李小白18 小时前
【Android FrameWork】第三十三天:Camera视频流写入SurfaceView的机制
android
csj5018 小时前
安卓基础之《(4)—Activity组件(2)》
android
_李小白19 小时前
【Android GLSurfaceView源码学习】第二天:GLSurfaceView深度分析
android·学习
元气满满-樱20 小时前
LNMP架构学习
android·学习·架构
allk5520 小时前
Android 渲染性能优化实战总结:从监控体系到架构落地
android·性能优化·架构
思成不止于此20 小时前
C++红黑树封装map/set核心揭秘
android
走在路上的菜鸟20 小时前
Android学Dart学习笔记第十七节 类-成员方法
android·笔记·学习·flutter
歪楼小能手21 小时前
Android16底部导航栏添加音量加减虚拟按键
android·java·平板
又是努力搬砖的一年21 小时前
elasticsearch修改字段类型
android·大数据·elasticsearch
走在路上的菜鸟21 小时前
Android学Dart学习笔记第十八节 类-继承
android·笔记·学习·flutter