Android - 无法在Ubuntu上安装/调试Eclipse中的应用程序,而ADB可以正常工作

时间:2011-03-15 15:06:09

标签: android eclipse ubuntu adb

我有Pulse U8220手机,我正在进行Android开发。最近我开始在Ubuntu上遇到Eclipse问题,因为Eclipse拒绝在我的设备上运行/调试程序(我不知道为什么)。过去这曾经对我有用。

我已经完成了最重要的步骤:

  • 为华为设备创建/etc/udev/rules.d/50-android.rules并包含SYSFS{idVendor}=="12d1"
  • 正在运行sudo adb kill-server && sudo asb start-server

但这些都没有解决Eclipse中的问题。请注意, adb 本身可以正常运行。

每当我尝试在设备上运行Eclipse中的应用程序(Eclipse显示为“在线”)时,控制台会列出以下内容:

[2011-03-15 15:45:45 - myapp] Android Launch!
[2011-03-15 15:45:45 - myapp] adb is running normally.
[2011-03-15 15:45:45 - myapp] Performing my.app.Activity activity launch
[2011-03-15 15:45:45 - myapp] Automatic Target Mode: Unable to detect device compatibility. Please select a target device.
[2011-03-15 15:45:47 - myapp] WARNING: Unknown device API version!
[2011-03-15 15:45:47 - myapp] Uploading myapp.apk onto device '????????????'
[2011-03-15 15:45:47 - myapp] Failed to install myapp.apk on device '????????????': adb rejected install command with: device not found
[2011-03-15 15:45:47 - myapp] com.android.ddmlib.AdbCommandRejectedException: device not found
[2011-03-15 15:45:47 - myapp] Launch canceled!

但是,我仍然可以使用控制台中的 adb 安装应用程序,如下所示:

$ ant install
...
 [echo] Installing /projects/myapp/bin/myapp-debug.apk onto default emulator or device...
 [exec] 154 KB/s (88178 bytes in 0.558s)
 [exec]     pkg: /data/local/tmp/myapp-debug.apk
 [exec] Success

它在台式机上的Windows上正常工作,我必须安装USB驱动程序,但我主要在我的Ubuntu笔记本电脑上工作。我觉得这个可能与这个事实有关,我的设备有一个奇怪的'连续'号码 - '????????????'。

有人有这个问题吗?有没有人设法解决它?是否有可能调试Android应用程序,那是不是在Eclipse中启动?

已解决:感谢PaulB指示我the Modaco forum,我在其中找到了修补 adb 的链接,该链接正确处理了没有序列号的设备。不需要其他修改和命令。现在,我也可以在Ubuntu上运行和调试Eclipse中的应用程序。

4 个答案:

答案 0 :(得分:3)

这是ubntu上adb的常见问题,您作为用户无权访问通过USB连接的手机。要解决这个问题,你有两种可能性,首先是快速破解:

(1)sudo $ANDROID_HOME/tools/adb kill-server && sudo $ANDROID_HOME/tools/adb start-server     在一个终端。但每次启动ubuntu时都必须这样做。

(2)设置适当的访问权限:

创建文件/etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", SYSFS{idVendor}=="19d2", SYSFS{idProduct}=="1354", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="d00d", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", SYSFS{idProduct}=="0c87", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", SYSFS{idProduct}=="618e", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="681c", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="4e12", MODE="0666"

然后重新启动你的ubuntu。这增加了一些常见的HTC设备(包括Nexus One)。

答案 1 :(得分:2)

也许您需要这样做:usb_modeswitch -W -v 12d1 -p 1030 -V 12d1 -P 1034 -M "5553424370ab71890600000080010a11060000000000000000000000000000" -s 20

http://android.modaco.com/content/t-mobile-pulse-mini-pulsemini-modaco-com/308255/adb-and-pulse-mini/

的更多讨论

答案 2 :(得分:0)

是的,我的HTC出现了类似的问题,显示为??????????我为我的HTC搜索了udev / rules.d的修复程序。对我来说这是一个权限问题,udev / rules.d修复了这个问题,我的设备现在显示在ddms和Eclipse中。这是我在“/etc/udev/rules.d/51-android.rules”文件中放置的内容

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"

SUBSYSTEMS ==“usb”,ATTRS {idVendor} ==“0bb4”,ATTRS {idProduct} ==“0ff9”,MODE =“0666”,OWNER =“apesa”#Normal Heroc SUBSYSTEMS ==“usb”,ATTRS {idVendor} ==“0bb4”,ATTRS {idProduct} ==“0c9a”,MODE =“0666”,OWNER =“apesa”#Debug&恢复Heroc SUBSYSTEMS ==“usb”,ATTRS {idVendor} ==“0bb4”,ATTRS {idProduct} ==“0fff”,MODE =“0666”,OWNER =“apesa”#Fastboot Heroc

BTW:我正在运行相同的设置。

答案 3 :(得分:0)

我有同样的问题,现在我解决了,

你需要一个新的adb文件而不是google Provide 下载链接:http://download.csdn.net/download/qq280948982/3791652

中国人修改它。如果您没有scdn帐户,可以联系我