Android内核开发 adb远程调试内核模块
本文出处: http://blog.csdn.net/leytton/article/details/52733776
PS:关于内核模块如何编写编译,有空再补上
1、连接远程Android设备
D:\test>adb.exe connect 192.168.1.3 * daemon not running. starting it now on port 5037 * * daemon started successfully * connected to 192.168.1.3:5555
连接本地Android模拟器
adb.exe connect 127.0.0.1:5554
进入Android shell模式
D:\test>adb.exe shell root@android:/ #
2、建立目录并远程上传内核模块文件
建立目录,因为只读属性会失败,下面有解决方法。
root@android:/ # mkdir /llqqww
Ctrl+C退出Android shell,adb远程上传文件
D:\test>adb push word_count.ko /llqqww 332 KB/s (72176 bytes in 0.212s)
进入shell模式查看,文件上传成功
D:\test>adb.exe shell root@android:/ # cd /llqqww root@android:/ # ls word_count.ko
mkdir failed for , Read-only file system的解决办法
先:adb shell 后:mount -o remount ,rw /
ro只读属性
3、加载模块
加载内核模块前没有"word_count"设备
root@android:/llqqww # ls /dev/ | grep word_count
没有相关日志消息
root@android:/llqqww # dmesg
加载内核模块后多了"word_count"设备
root@android:/llqqww # insmod word_count.ko root@android:/llqqww # ls /dev/ | grep word_count word_count
向设备输入数据
root@android:/llqqww # echo hello > /dev/word_count root@android:/llqqww # cat /dev/word_count hello root@android:/llqqww # cat /dev/word_count
卸载内核模块
root@android:/llqqww # rmmod word_count.ko
有内核加载成功、内核模块读写和卸载的相关日志消息
root@android:/llqqww # dmesg <4>[ 4954.270000] word_count init success! <4>[ 5110.280000] count_write:write_count:6 <4>[ 5130.860000] read:read_count:6 <4>[ 5130.860000] read:read_count:0 <4>[ 5134.530000] read:read_count:0 <4>[ 5403.450000] word_count exit success!