Android入门之旅3—ubuntu11.4上通过adb连接M9手机

在windows上通过adb访问M9很简单,WinXP用户到魅族M9产品支持下载USB驱动,安装后就可以通过adb访问M9了。似乎Win 7能直接识别M9,不需要手动安装驱动。(Win系统上面本人未测试过)

关于ADB的说明:ADB(Android Debug Bridge)是Android SDK包里面的一个调试工具,通过ADB Shell可以进入到Android系统。

==========================

要在Linux上访问魅族M9手机,并不需要安装驱动,不过需要设置一下udev。
系统环境:

  • PC系统 - Ubuntu11.04(unity)
  • M9系统 - Android2.3(18246)


1、添加配置文件
以root身份增加一个/etc/udev/rules.d/51-android.rules文件,内容如下:

SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="18d1", MODE="0666"

然后将该文件设置为对所有用户可读:

$ sudo chmod a+r /etc/udev/rules.d/51-android.rules

然后重启udev服务:

$ sudo /etc/init.d/udev restart

关于51-android.rules文件的内容说明:

  • 第一行SUBSYSTEM=="usb"适用于ubuntu系统
  • 第二行SUBSYSTEM=="usb_device"适用于centos系统
  • 关于USB vendor ID的值可以通过执行lsusb进行查询
$ lsusb | grep Google
Bus 001 Device 034: ID 18d1:4e22 Google Inc.


2、设置M9为调试模式
进入到M9的“设置 -> USB模式”,然后激活“USB调试”和“保持唤醒状态”两个选项。然后通过USB线将M9连接到Ubuntu PC机。

3、通过adb检测并连接M9设备
如果adb所在路径已经添加到系统PATH环境变量之中了,可以直接执行命令列出连接的M9设备:

$ adb devices

否则,需要先进入到Android SDK里面的platform-tools目录再进行相关操作。
正常情况下,此时应该能看到如下类似的输出了:

$ adb devices
List of devices attached
M9W1B00BKAOC6L0460 device

表明已经正确识别出了M9设备。
然后通过adb shell就可以连接到M9的Android系统了:

$ adb shell
$ ls -l
dr-x------ root root 2011-06-11 20:07 config
drwxr-xr-x root root 2011-05-19 11:11 cache1
drwxr-xr-x root root 2011-06-11 20:07 acct
d---rwxr-x system sdcard_rw 1970-01-01 08:00 sdcard
drwxrwxr-x root system 2011-06-11 20:07 mnt

lrwxrwxrwx root root 2011-06-11 20:07 vendor -> /system/vendor
lrwxrwxrwx root root 2011-06-11 20:07 cache -> /data/cache
lrwxrwxrwx root root 2011-06-11 20:07 d -> /sys/kernel/debug
lrwxrwxrwx root root 2011-06-11 20:07 etc -> /system/etc
-rw-r--r-- root root 3764 1970-01-01 08:00 ueventd.rc
-rw-r--r-- root root 818 1970-01-01 08:00 ueventd.m9.rc
-rw-r--r-- root root 0 1970-01-01 08:00 ueventd.goldfish.rc
drwxr-xr-x root root 2011-05-19 11:10 system
drwxr-xr-x root root 2011-06-11 20:07 sys
drwxr-x--- root root 1970-01-01 08:00 sbin
dr-xr-xr-x root root 1970-01-01 08:00 proc
-rwxr-x--- root root 18383 1970-01-01 08:00 init.rc
-rwxr-x--- root root 571 1970-01-01 08:00 init.m9.rc
-rwxr-x--- root root 1677 1970-01-01 08:00 init.goldfish.rc
-rwxr-x--- root root 127096 1970-01-01 08:00 init
-rw-r--r-- root root 118 1970-01-01 08:00 default.prop
drwxrwx--x system system 2011-05-22 15:33 data
drwx------ root root 2011-05-12 16:57 root
drwxr-xr-x root root 2011-06-11 20:09 dev

如果执行“adb devices”检测不到任何设备,可以尝试以下方法:
先进入到Android SDK里面的platform-tools目录,然后依次执行:

$ sudo ./adb kill-server
$ sudo ./adb start-server
$ ./adb devices

这时应该就能看到M9设备被正常识别了。

通过“adb shell”进入到Android系统之后发现很多文件无法访问,如ls列出或创建文件操作等,这是因为还没有Root权限。M9官方尚未公开Root权限,但可以通过第三方软件获取临时Root。

关于adb的一些用法参见:hi.baidu.com/dangjun625/blog/item/7e37a99475a34f06d21b70e6.html

adb常用命令:

  • adb install <apk文件路径>
  • adb uninstall <软件名>
  • adb uninstall -k <软件名>
  • adb push <本地路径> <远程路径>
  • adb pull <远程路径> <本地路径>


关于adb uninstall的软件名称,可以在/data/data 或 /data/app 目录下查看,或是在AndroidManifest.xml里面查看。

参考链接:
[1] easwy.com/blog/archives/connect-meizu-m9-to-linux/
[2] hi.baidu.com/connor/blog/item/ba75262d94381738349bf72f.html
[3] bbs.meizu.com/thread-2421715-1-1.html

posted on 2013-03-07 15:04  wzc0066  阅读(294)  评论(0编辑  收藏  举报