我有三个平板电脑,其中两个是国产的,cube酷比魔方的U9GT2和艾诺的novo8 advenced。
最近在ubuntu上编译android的源代码,可是发现ubuntu下adb识别国产平板不是那么容易的
这个问题困扰了我好久,现在解决了,整理一下,为造福后人
一、说一下我系统情况
1、ubuntu 11.10,64位系统(应该和系统版本关系不大,其他linux系统应该均可通用)
2、平板电脑的系统版本也无限制
3、已经安装完android-sdk-linux,并下载了android SDK tools(r21) 和android SDK Pletform-tools(r16)
二、查看usb连接
运行
lusub
命令,我的显示内容如下
解释一下,前几个不用管,那是系统里面的,重要的是后三个。
倒数第一个是艾诺平板的(汗,国产平板竟然盗用htc的识别信息来用!)
倒数第二个是我的无线鼠标接口
倒数第三个是酷比U9GT2
请大家重点关注设备对应ID号。
三、配置ubuntu以识别山寨平板
1、以root身份修改~/.android/adb_usb.ini文件,注意,一定要是root模式下,否则普通权限是看不到这个目录的
可以gedit,可以vi,随便你
在文件里加上你要识别的设备ID号,
比如我修改完之后的效果如下图
0x表示是16进制,后面跟着的数字就是lsusb命令列出的设备ID号
(网络上其他帖子上普遍都没有这关键的一步,看来买山寨平板的人折腾的不够深入啊,因为大厂出的平板不需要这样做,原生支持识别!)
2、设置新的udev规则
在/etc/udev/rules.d路径下,新建或修改50-Android.rules的文件,里面加上如下内容
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0000", MODE="0666"
说明:idVendor对应ID号的前四位,idProduct对应ID号的后四位。
如果你和我一样已经进行过android源代码编译,那么你的50-Android.rules一定存在,并且已经有一些其他设置了,仅仅是添加一条而已。
四、重启adb,实验adb devices命令
adb kill-server
adb start-server
说明:我是设置过.bashrc文件的,在哪里都可以运行adb命令,没设置过.bashrc的,到adb所在文件夹下面去运行该命令吧,或者自己上网查查怎么设置.bashrc
adb devices
反馈如下图
现在你可以在山寨平板上测试android程序了。
后续问题:
我发现不论我插上几个设备,adb devices识别的设备设备名称怎么都一样呢?!都是0123456789ABCDEF,为什么呢?!
同时查入的时候,调试程序失败,因为不知道往那个设备上安装程序,还是只插一个好!