一、 前言
最近在做一个工作,需要将can-utils工具安装到android,刚开始在网上找了很多方法,最终都没能成功,后来了解到android源码只有根目录有Makefile文件,生成所有的在android中运行的可执行文件必须在根目录下使用make 模块名字
编译生成,模块名字对应的是Android.mk文件中LOCAL_MODULE
的值,它可以自己搜索模块对应的位置。
二、在android4.4中安装can-utils工具
1、向从GitHub上下载can-utils源码,https://github.com/linux-can/can-utils
2、然后将源码解压到android4.4源码根目录的development文件夹下(理论上其他的文件夹也可以)
3、在android4.4根目录下执行命令make candump
,生成candump可执行文件,在out/target/product/generic/system/bin/candump
目录下,cansend可执行文件同样的方式生成。如果想用其他的测试工具也可以用同样的方式生成。
4、将生成的cansend和candump可执行文件push到开发板中,一下以cansend为例
#先push到/sdcard/data文件夹下
adb push cansend /sdcard/data
#连接开发板,启动shell命令
adb shell
#切换root身份
su root
#设置/system目录的权限,如果没有这一句会报system/: Read-only file system错误
mount -o,rw remount /system
#将/sdcard/data下的cansend文件复制到/system/bin文件夹下
cp /sdcard/data/cansend /system/bin/cansend
#给cansend文件加上可执行权限
chmod 777 /system/bin/cansend
5、将cansend和candump导入到开发之后就可以进行回环测试,需要开启两个终端进行测试查看
终端一设置can0并接收消息:
ip link set down can0
ip link set can0 type can loopback on
ip link set up can0
candump can0
终端二发送消息:
cansend can0 123#1122334455667788