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

相关推荐
沐怡旸1 小时前
【Android】Dalvik 对比 ART
android·面试
消失的旧时光-19431 小时前
Android NDK 完全学习指南:从入门到精通
android
消失的旧时光-19432 小时前
Kotlin 协程实践:深入理解 SupervisorJob、CoroutineScope、Dispatcher 与取消机制
android·开发语言·kotlin
2501_915921432 小时前
iOS 26 描述文件管理与开发环境配置 多工具协作的实战指南
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_915909062 小时前
iOS 抓包实战 从原理到复现、定位与真机取证全流程
android·ios·小程序·https·uni-app·iphone·webview
2501_915106322 小时前
HBuilder 上架 iOS 应用全流程指南:从云打包到开心上架(Appuploader)上传的跨平台发布实践
android·ios·小程序·https·uni-app·iphone·webview
Meteors.3 小时前
安卓进阶——Material Design库
android·安卓
佳哥的技术分享3 小时前
kotlin基于MVVM架构构建项目
android·开发语言·kotlin
折翅鵬3 小时前
Flutter兼容性问题:Could not get unknown property ‘flutter‘ for extension ‘android‘
android·flutter
2501_916007474 小时前
免费iOS加固方案指南
android·macos·ios·小程序·uni-app·cocoa·iphone