本文转载自:http://m.blog.csdn.net/blog/fzply521/7913284
感谢原博主的贡献
1.使用硬件设备
在创建一个应用程序的时候,发布给用户时最重要是你总要在真机上测试程序。这一篇文章描述了怎么样建立你自己的开发环境和Android 设备来测试和调试程序。
你可以使用Android设备作为环境来运行,调试或测试你的程序,在SDK中的工具使你每次编译时简单的安装到手机,并运行你的程序。你可以直接从Eclipse或者使用ADB的命令行来安装程序到手机上。如果你现在还没有设备,检查你的地区的服务提供者来决定哪一个Android设备可以使用。
如果你想要一个没有解锁的SIM卡电话,你可以考虑Google Nexus S。为了找到买Nexus S或者另外一些Android的设备,可以上google.com/phone.(当然了这个是国外卖Android手机的官网)。
注意:当你在设备上开发的时候,记住你应该仍然使用Android emulator来测试你的应用,在他们的配置上和真机是不同的。尽管emulator不允许你测试每一设备上的特性(比如加速度计),但是它却能验证在不同版本,不同屏幕和不同方向的Android平台的程序功能。
2.为开发来设置设备
使用Android设备,你可能开发并调试你的Android应用好像在emulator上。在你开始之前,你需要一点事情去做:
1).在开发中的AndroidManifest文件中声明你的应用是可“调试的“
当使用Eclipse的时候,你可能跳过这一步棸,因为从Eclipse IDE运行你的程序自动开启了enables debugging.
在AndoridManifest.xml文件,在<application>中加上android:debuggable="true"。
注意:如果你手动的在文件中enable debugging,确定在你发布之前使其失效(你的发布版本应用经常是不需要调试的).
2) 在设备中打开“USB Debugging"
在设备上,Settings> Applications>Development,并开启USB Debugging(在Android 4.0设备上,这个设置在Settings > Developer options)
3) 联机检测设备
@如果你在Windows上开发,你需要为adb安装USB驱动, 对于一个安装向导,链接到OEM驱动,看我的这篇OEM USB Drivers文档。
@如果你开发在Mac OS X上,它正常工作,跳过这一步棸。
@如果你在Ubuntu Linux上运行,你需要添加一个 udev 规则文件,这个文件包含一个你想要开发的设备类型的USB配置。在这个规则文件中,每一个设备制造商都使用一个唯一的vendor ID,作为具体的ATTR{idVendor}属性。对于vendor IDs一个列表,可以看我的一篇USB Vendor IDs,下面在Ubuntu Linux下设置设备检测。
a.以root 身份登录,并创建这个文件:/etc/udev/rules.d/51-android.rules.
使用下面的格式添加每一个你想要调试的设备:
SUBSYSTEM==“usb", ATTR{idVendor}=="obb4",MODE="0666",GROUP="plugdev"
在这个例子中,vendor ID是HTC,MODE分配位具体的读写权限,GROUP定义了哪一个Unix组拥有这个设备节点。
注意:这个规则语法有可能在你的环境中稍微不同。结合udev文档来查看你系统所需要的。要看规则语法,在一篇文章writing udev rules.
b.现在执行
chmod a+r /etc/udev/rules.d/51-android.rules
当插入USB,证明你的设备是否链接上通过执行在SDK platfrom-tools 目录下的adb devices命令。如果链接,你将要看到一个设备明。
如果使用Eclipse,运行或者调试你的应用,你将要出现一个设备选择对话框来列出可用的emulator(s)和链接设备。选择你想安装的设备来运行你的程序。
如果使用Adnroid Debug Bridge(adb),你可以使用-d选项来固定一个链接设备。
3.USB Vendor ID
为了添加USB设备到linxu,这个表提供vendor IDs的引用.USB Vendor ID是一个值,它在规则文件中ATTR{idVendor}属性。
如下表:
公司 | USB Vendor ID |
---|---|
Acer | 0502 |
ASUS | 0b05 |
Dell | 413c |
Foxconn | 0489 |
Fujitsu | 04c5 |
Fujitsu Toshiba | 04c5 |
Garmin-Asus | 091e |
18d1 | |
Hisense | 109b |
HTC | 0bb4 |
Huawei | 12d1 |
K-Touch | 24e3 |
KT Tech | 2116 |
Kyocera | 0482 |
Lenovo | 17ef |
LG | 1004 |
Motorola | 22b8 |
NEC | 0409 |
Nook | 2080 |
Nvidia | 0955 |
OTGV | 2257 |
Pantech | 10a9 |
Pegatron | 1d4d |
Philips | 0471 |
PMC-Sierra | 04da |
Qualcomm | 05c6 |
SK Telesys | 1f53 |
Samsung | 04e8 |
Sharp | 04dd |
Sony | 054c |
Sony Ericsson | 0fce |
Teleepoch | 2340 |
Toshiba | 0930 |
ZTE | 19d2 |