linux配置android真机调试的步骤

首先按照 SDK 上的说明建立 udev 的 rules 文件,然后:

在 Ubuntu 11.04 下通过usb连接 Android设备,使用 adb 时,会返回无法找到设备,解决办法如下:

  1. 在终端运行 lsusb

会发现结果有会有如下类似记录:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

注意最后一个
Bus 001 Device 003: ID 12d1:360e Huawei Technologies Co., Ltd.

这时键入,新建一个50-Android.rules文件,如下所示:

sudo vim /etc/udev/rules.d/50-Android.rules

在打开的文件中增加以下文本:

SUBSYSTEM==”usb”, SYSFS{“High Tech Computer Corp.”}==”12d1”, MODE=”0666”

  1. 运行以下命令:

sudo chmod a+rx /etc/udev/rules.d/50-Android.rules

让设备管理器重启

sudo /etc/init.d/udev restart

udev 是Linux kernel 2.6系列的设备管理器。它主要的功能是管理/dev目录底下的设备节点。它同时也是用来接替devfs及hotplug的功能,这意味着它要在添加/删除硬件时处理/dev目录以及所有用户空间的行为,包括加载firmware时。udev的最新版本依赖于升级后的Linux kernel 2.6.13的uevent接口的最新版本。使用新版本udev的系统不能在2.6.13以下版本启动,除非使用noudev参数来禁用udev并使用传统的/dev来进行设备读取。

  1. 在 Android sdk 的 platform-tools 目录下运行 (这一步很重要,必须要sudo,否则没效果,在之后的sdk都将adb放在了platform-tools中)

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

然后,就可以直接用 adb 来进行操作了。

若继续在Ubuntu 11.04 下执行adb devices命令, 返回的结果是:

List of devices attached
???????????? no permissions

这意味着,USB连接的设备是能够被识别的。经过上网查找之后,得知adb server需要以root的权限启动,于是有了如下命令:

www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ ./adb kill-server

www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ sudo ./adb start-server
* daemon not running. starting it now *
* daemon started successfully *

第一条命令用来杀死当前正在运行的server, 第二条命令则以root的权限启动了新的server. 我们可以再次查看devices:

www.linuxidc.com@linuxidc-laptop:~/Dev/Java/Android/android-sdk-linux_86/tools$ ./adb devices
List of devices attached
HT848KV04386 device

这次设备就被正确识别了。自然地, 像ddms之类的工具也能派上用场了。

_____________________________________________________________以下说明配置完毕后开始调试的步骤

注:如果没有 root 权限也是可以试试,一般情况下,都需要 root 权限,才能连接成功。

1.需要确保你的开发 PC 和 Android 手机都连上了 wifi 并处于同一网段下;
2.开启 usb 调试,且用 usb 将 Android 设备连接到开发 PC 上;
3.进入到你的 Android SDK 的 platform-tools 目录下,
执行如下命令来重启 Android 设备中的 adbd 后台程序重新侦听 TCP 的指定端口:
$./adb tcpip 5555
注:5555 是默认端口,换成别的也没有必要,且这里一定要设一个端口的!

4.执行如下命令来建立 wifi 调试连接:
$./adb connect Android设备实际的IP地址[:通过 ./adb tcpip 指定的端口号]
注:IP 地址和端口号之间有一个冒号,如果端口号为 5555 的话,则可以省略。

如果出现 “unable to connect to IP 地址:端口号” 此类错误信息,则:
1)进入 Android 设备终端中:
$./adb shell

2)切换为 Android 设备的 root 用户:
$ su -

3)设置 adbd 服务的指定端口号:
# setprop service.adb.tcp.port 5555
注:5555 虽是默认的,这里也要设一下,也可以是自定义的,但是什么必要。

4)设置 adbd 服务后,重新运行它:
# start adbd
注:# stop adbd 命令将会停止 adbd ,只能重启了 Android 设备了。

5)再重启 Android 设备中的 adbd 后台程序重新侦听 TCP 的指定端口:
$ ./adb tcpip 5555

6)再建立 wifi 调试连接:
$ ./adb connect IP地址[:端口号]

7)出现如下字样,表示成功:
connected to IP地址[:端口号]

8)进入 Android 设备终端中:
$./adb shell

9)执行 netstat 命令,则可以看到 IP地址:端口号 已建立的状态:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:11000 0.0.0.0:* LISTEN
tcp 26 0 192.168.1.104:5555 192.168.1.102:40821 ESTABLISHED
---------------------------------------------
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:11000 0.0.0.0:* LISTEN

注:分隔线(—)上面的是建立好的状态显示,下面的是没有建立好的状态显示。

9)执行查看设备命令的结果,也与 usb 的不同:
$ ./adb devices
List of devices attached
192.168.1.104:5555 device
--------------------------
List of devices attached
android123456 device

注:分隔线(—)上面的是 TCP 连接,下面的是 usb 连接。

*.执行如下命令来重启 Android 设备中的 adbd 后台程序重新侦听 usb :
./adbusb./adbdevices   sudo ./adb kill-server 和 sudo./adbstartserver  Android      1)Android ./adb shell

  2)切换为 Android 设备的 root 用户:
  $ su -

  3)设置 adbd 服务的指定端口号:
  # setprop service.adb.tcp.port -1
  注:关闭 wifi 调试,只需在此将端口号设为负壹(-1)即可。

  4)以上三步做完后,即可执行 ./adb usb 切回 usb 连接调试方式。

  *注:如果只是断开一下连接,只需运行如下命令:
     $./adb disconnect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值