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个命令了

相关推荐
plainGeekDev16 小时前
依赖管理 → Version Catalog
android·java·kotlin
韩曙亮17 小时前
【Flutter】Flutter 进程保活 ③ ( 屏幕常亮设置 | Flutter 禁止息屏、关闭自动锁屏、屏蔽系统屏保 )
android·flutter·ios·屏幕常亮·禁止息屏
爱笑鱼18 小时前
NDK、SDK、APP、Framework、Native 到底怎么区分?
android
私人珍藏库18 小时前
[Android] 发票制作器-内置多行业专业模板
android·人工智能·app·软件·多功能
阿pin18 小时前
Android随笔-PMS
android·pms
悲凉的紫菜20 小时前
dariy
android·ide·android studio
2501_9159090620 小时前
IPA 深度混淆是什么意思?从混淆强度到实际效果的解读
android·ios·小程序·https·uni-app·iphone·webview
LT101579744421 小时前
2026年手机机型兼容性测试选型指南:安卓机型碎片化、APP闪退UI错乱如何解决
android·测试工具·ui·智能手机
阿pin1 天前
Android随笔-view是如何显示到屏幕上
android·view
恋猫de小郭1 天前
Flutter material/cupertino 解耦最新进展,已经在做新样式了
android·前端·flutter