Android Can';t在ubuntu 10.10中从eclipse部署apk

Android Can';t在ubuntu 10.10中从eclipse部署apk,android,Android,我已经为android开发了一些应用程序很长一段时间了,但我只使用了Windows7。由于某些原因,有时我被迫在linux中编程,因此我按照指南配置SDK和eclipse(http://developer.android.com/guide/developing/device.html) 之后,我运行了“adb设备”,得到了以下结果: List of devices attached ???????????? device 正如你所看到的,这个名字是未知的,但这也发生在windows中,所以

我已经为android开发了一些应用程序很长一段时间了,但我只使用了Windows7。由于某些原因,有时我被迫在linux中编程,因此我按照指南配置SDK和eclipse(http://developer.android.com/guide/developing/device.html)

之后,我运行了“adb设备”,得到了以下结果:

List of devices attached 
???????????? device
正如你所看到的,这个名字是未知的,但这也发生在windows中,所以我没有为此烦恼太多

然后我启动了eclipse并做了一个非常简单的项目来测试部署,但这里发生了两件事:

第一个-它没有检测到android SDK版本。(http://img515.imageshack.us/img515/5611/escolha.jpg)

第二个-当我尝试部署时,我得到以下输出:

[2010-10-09 23:06:45 - testeAndroid] Android Launch!
[2010-10-09 23:06:45 - testeAndroid] adb is running normally.
[2010-10-09 23:06:45 - testeAndroid] Performing com.examples.teste.teste activity launch
[2010-10-09 23:06:45 - testeAndroid] Automatic Target Mode: Unable to detect device compatibility. Please select a target device.
[2010-10-09 23:09:50 - testeAndroid] WARNING: Unknown device API version!
[2010-10-09 23:09:50 - testeAndroid] Uploading testeAndroid.apk onto device '????????????'
[2010-10-09 23:09:50 - testeAndroid] Failed to upload testeAndroid.apk on device '????????????'
[2010-10-09 23:09:50 - testeAndroid] com.android.ddmlib.AdbCommandRejectedException: device not found
[2010-10-09 23:09:50 - testeAndroid] Launch canceled!
我正在使用:

eclipse 3.5.2

adt 0.9.9

android SDK工具r7

安卓手机:沃达丰845=华为U8120-安卓2.1-update1

知道发生了什么吗


提前感谢;)

您必须根据上的手册更新您的udev规则-然后它才能工作。

华为U8120(沃达丰845)手机是其中一种USB设备,它将自己作为USB存储设备呈现给主机操作系统,以便为Windows驱动程序安装提供文件。要将它们从Linux模式切换到USB从设备,您需要使用USB_modeswitch。您可以从主页下载最新的usb_modeswitch软件包,其中包括对您的设备的支持。或者只在命令行上使用此调用:

$sudo usb_modeswitch-v 0x12d1-p 0x1031-s 20-M“5553424312345678060000080000610000000000000000”

但是,要将其与Android工具配合使用,您需要解决另一个问题,因为华为U8120(沃达丰845)没有提供序列号。可能还有其他的解决办法,但让它对我起作用的是“adb”实用程序的补丁,它可以处理没有序列号的设备

美元/工具/亚洲开发银行设备

所附设备清单

noserial-/dev/bus/usb/001/036设备

补丁就在这里:如果您信任该源,您可以在这里找到“adb”二进制文件:)www.mediafire.com/?oizmyyw0wwz


另请参见

我也有安卓平台,短短几天,升级似乎就解决了问题。您必须制作sudo usb_modeswitch-v 0x12d1-p 0x1031-s 20-M“555342431234567860000080000610000000000000000000000000000000000”和标准adb,以及在ubuntu 10.04中工作的ADT插件


我的adb版本是1.0.26,ADT插件是10.0.0.v201102162101-104271,因为adb升级迫使我更新Eclipse插件。

谢谢你的回复,但我已经这么做了。正如您在我的问题中看到的,当我执行“adb设备”时,设备已经出现,我甚至可以使用adb推、拉和安装命令。唯一的问题是,当我尝试在eclipse中部署应用程序时,我需要进行适当的调试…当然,但看起来udev规则仍然不正确(您得到的设备名称是????)。我认为,当设备连接到计算机时,您应该通过在控制台上运行“lsusb”来获取供应商id,并相应地更改udev规则。然后重新启动udev并重新安装手机,手机就会正常工作。:-)正如另一个答案中所解释的,当没有提供设备序列号时,这确实是adb清单名称中的一个错误。显然eclipse或adt插件不喜欢“??”的名称:PAhh-这解释了很多!:-)真奇怪,有些手机似乎表现得如此……非常感谢!!!:D设备已经处于正确的模式,因此不需要usb_modeswitch(也就是说,它在ubuntu 10.10中默认出现,并根据dmesg自动更改为正确的模式)。真正解决问题的是经过修补的adb。令人难以置信的是,经过这么多个月的发现,这种错误仍然存在:错误警报。修补程序仍在运行。当我重新启动时,它没有被发现。因此,你必须使用udev规则更改、模式切换方法和bin补丁。使用adb设备将显示一个noserial-/dev/bus/usb/001/009设备,但在Eclipse中,该设备被识别为2.1更新并将被部署。