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

相关推荐
消失的旧时光-19432 分钟前
Kotlin 判空写法对比与最佳实践
android·java·kotlin
锅拌饭29 分钟前
Android Handler(一) 同步屏障泄露导致页面假死
android
锅拌饭35 分钟前
Android Handler(二) 同步屏障泄露检测
android
手机不死我是天子2 小时前
《Android 核心组件深度系列 · 第 3 篇 BroadcastReceiver》
android·android studio
用户17345666963472 小时前
Android 日志库:高性能压缩加密日志系统
android
恋猫de小郭3 小时前
React 和 React Native 不再直接归属 Meta,React 基金会成立
android·前端·ios
bst@微胖子3 小时前
鸿蒙实现滴滴出行项目之侧边抽屉栏以及权限以及搜索定位功能
android·华为·harmonyos
zcz16071278213 小时前
Docker Compose 搭建 LNMP 环境并部署 WordPress 论坛
android·adb·docker
Pika13 小时前
深入浅出 Compose 测量机制
android·android jetpack·composer