Linux U880手机链接eclipse
来源:互联网 发布:js怎么查看对象的内容 编辑:程序博客网 时间:2024/03/29 10:36
原文:http://blog.sina.com.cn/s/blog_64d0b03c0101chtq.html
本文主要是解决Linux下android手机usb调试设备不能正确识别的问题, 首先附上原文的
机器型号
固件版本 android 2.3.7
开发宿主系统
配置android SDK开发环境(这一段我没有去试,我是通过官方的linux安装引导包下载的)
1、下载android1.6 SDK
因为我的固件版本为android1.6因此下载sdk1.6
http://dl.google.com/android/android-sdk-windows-1.6_r1.zip
http://kugou.me/android-sdk-linux_x86-1.6_r1.tgz
将SDK解压到
~/android/android-sdk-linux_x86-1.6_r1
2、安装eclipse
因为android官方推荐使用eclipse,而且官方也推出了eclipse插件ADT辅助开发。
去eclipse官方网站下载eclipEclipse IDE for Java EE Developers (For Linux32/64 bit)
eclipse不用安装,直接解压到目录中运行eclipse就可以了。
3、安装ADT
打开eclipse
Help--> Install New SoftWare..
Add...
添加Location:http://dl-ssl.google.com/android/eclipse
点击下一步 接受 下载 安装。
4、配置ADT
安装ADT后会重启eclipse
首先需要指定SDK目录:
Window--> Preferences--> android-->SDK Location:
指定路径为~/android/android-sdk-linux_x86-1.6_r1
OK。现在可以新建虚拟机创建android工程进行开发调试了。
关于如何使用eclipse+ADT开发android应用程序在网上有大量的教程,请自己google :)
--下面是用USB调试方式连接手机的方法--
1、用USB接手机(手机需要切换到usb调试模式设置-->应用程序-->开发-->usb调试)
lemon@*:~/android-sdks/platform-tools$ lsusb
... ...
Bus 001 Device 003: ID 5986:0241 Acer, Inc BisonCam, NBPro
Bus002 Device 006: ID
Bus 002 Device 003: ID 1058:1023 Western Digital Technologies,Inc.
Bus 003 Device 002: ID 147e:1001 Upek
Bus 004 Device 002: ID 093a:2516 Pixart Imaging,Inc.
Bus 005 Device 002: ID 0a5c:2150 Broadcom Corp. BCM2046 BluetoothDevice
看到上面紫色字体了吗,那就是udev识别的usb调试设备标识
大多数ZTE android手机应该都一样。
事实上可以去官网查 USB Vendor IDs 列表:
http://developer.android.com/guide/developing/device.html#VendorIds
如:ZTE 19D2
2、配置udev规则文件,调整设备文件权限
接下来我们就可以根据前面获得的usb调试设备标识来调整我们的设备文件的各种属性以帮助androidsdk识别usb调试设备。
在/etc/udev/rules.d下创建规则文件50-android.rules
# mk file with a new window
sudo gedit 50-android.rules
# add something as:
SUBSYSTEMS=="usb",ATTRS{idVendor}=="19d2
# save & close window
cat内容如下:
lemon@*:/etc/udev/rules.d$cat 50-android.rules
SUBSYSTEMS=="usb",ATTRS{idVendor}=="19d2",SYMLINK+="android_adb",OWNER="lemon"
ATTRS{idVendor}
SYMLINK
OWNER
(这里要特别注意,我们的目的就是使android手机调试设备文件的所有者权限与开启的adb 服务的所有者权限相一致,这样usb设备才能被adb服务识别)。
运行以下命令使刚更改的配置生效 (用不了? 有事没事man一下了)
sudo udevadm control --reload-rules
4、拔插一下USB,生成新的设备文件
这时会在/dev/下出现一个连接文件android_adb,它指向的设备就是你的USB调试的手机设备。(我心急没去看那个文件)
5、开启adb服务,搜寻usb调试设备
在~/android/android-sdk-linux_x86-1.6_r1/tools下运行
$./
$./
$./
List of devices attached
ZTE_SP920
安装一个apk试试吧
./adb install *.apk
在eclipse中也可以发现连接的手机设备,进行开发调试,当然前提是adb服务已经识别usb设备。
秀一张eclipse下调试android程序的图片:
注:获取设备的udev标识的方法多样,上面介绍的方法只是其中一种,也是比较准确的一种 :)
如果你知道usb设备的设备文件,在获得idVendor时也可以使用其他命令,如:
udevinfo -a -p /sys/class/usb_device/...
udevinfo -e
而且在使用 udev 配置规则文件时可以使用任何一个参数来指定设备。
参考文章:
http://hi.baidu.com/sunblackshine/blog/item/9a95c9d201a06539960a163d
adb shell 无法启动 (insufficient permissions fordevice)
- 使用adb shell出现错误:
解决:貌似root 下 就可以 搞定
[calvin@calvin-desktop ~ 23:31:18 ] $ sudo -s
sudo -s:执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd里所指定的 shell
即相当于 sudo /bin/bash
[root@calvin-desktop ~ 23:31:22 ] $ adb kill-server
[root@calvin-desktop ~ 23:31:35 ] $ adb start-server
* daemon not running. starting it now *
* daemon started successfully *
[root@calvin-desktop ~ 23:31:44 ] $ exit
exit
[calvin@calvin-desktop ~ 23:31:47 ] $ adb shell
更新:
在51-android.rules中只写一句:
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",MODE="0666",即可。
- 使用lsusb查看设备的usb id号
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 roothub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 roothub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 roothub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 roothub
Bus 002 Device 015: ID 1004:615d LG Electronics,Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 roothub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 roothub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 roothub
由此可见,该设备的id为1004,
将/etc/udev/rules.d/51-android.rules文件的内容改为
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"即可。
可以写多行,如:
#Acer 0502
SUBSYSTEM=="usb", SYSFS{idVendor}=="0502", MODE="0666"
#Dell 413c
SUBSYSTEM=="usb", SYSFS{idVendor}=="413c", MODE="0666"
#Foxconn 0489
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", MODE="0666"
#Garmin-Asus 091E
SUBSYSTEM=="usb", SYSFS{idVendor}=="091e", MODE="0666"
#HTC 0bb4
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
#Huawei 12d1
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
#Kyocera 0482
SUBSYSTEM=="usb", SYSFS{idVendor}=="0482", MODE="0666"
#LG 1004
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
#Motorola 22b8
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
#Nvidia 0955
SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"
#Pantech 10A9
SUBSYSTEM=="usb", SYSFS{idVendor}=="10A9", MODE="0666"
#Samsung 04e8
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
#Sharp 04dd
SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666"
#Sony Ericsson 0fce
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"
#ZTE 19D2
SUBSYSTEM=="usb", SYSFS{idVendor}=="19D2", MODE="0666"
http://hi.baidu.com/iceliushuai/blog/item/1e506160c5d01f48eaf8f801
- Linux U880手机链接eclipse
- eclipse 无法链接手机
- ZTE U880 使能Adb for Linux
- 手机上网不用走流量?这个可以有-u880手机连接电脑上网教程
- 关于魅族手机无法链接到eclipse
- Eclipse链接Android 7.0的手机无法输出logcat
- Eclipse链接Android 7.0的手机无法输出logcat
- Eclipse链接Android 7.0的手机无法输出logcat
- 手机链接
- linux下eclipse添加链接库
- linux,eclipse不能识别android手机
- linux,eclipse不能识别android手机解决办法~
- Linux下eclipse连接手机问题
- 中兴U880安装驱动
- u880刷2.3.7
- 中兴U880刷机
- 中兴U880刷机
- Eclipse android开发 error: device not found链接不上手机的原因
- 1. 基础概念篇
- Django Meta小节(一)之models.Model
- SQL 优化
- 调用函数------求某年某月某日是本年的第几天
- 自定义工具错误 WCF最常范的错误
- Linux U880手机链接eclipse
- hdu2112HDU Today
- iis本地发布网站
- Java 使用EE配置相关问题总结
- 让input框从右向左显示的方法
- 了解数字高清电视
- delphi数据集与记录
- C指针测试程序
- error C2065: “endl”: 未声明的标识符