在设备上调试Android应用程序

时间:2011-12-26 19:40:20

标签: android debugging

我知道有很多问题,但没有一个问题对我的情况有所帮助。我正在运行Ubuntu 11.10而我正试图在我的LG手机上调试应用程序。我遵循了这个指南:http://developer.android.com/guide/developing/device.html

我在手机上启用了USB调试,在清单中将项目设置为可调试,并编辑了/etc/udev/rules.d/51-android.rules规则文件。以下是文件的内容:

SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev" 

1004是LG的供应商ID。该设备已安装;我可以在我的文件系统中访问它,USB挂载指示器位于通知区域。当我运行adb设备时,手机未列出,只有模拟器。它在Eclipse中也不被认可。如何让Eclipse识别我的设备?

5 个答案:

答案 0 :(得分:9)

这是我为所有Android设备添加规则的最终脚本。你应该删除你的xx-android.rules文件,如果你编写它并使用sudo:

#!/bin/bash

android_SDK=$1

if [[ $android_SDK == "" ]]
then
    echo 'usage: sudo add_device_rules_to_unix.sh /android-SDK/platform-tools/dir/path'
    exit
fi

PATH=$PATH:$android_SDK

rules_file="/etc/udev/rules.d/99-android.rules"

# Adding rules to 99-android.rules file
echo '# Acer
SUBSYSTEM=="usb", SYSFS{idVendor}=="0502", MODE="0666"
# Dell
SUBSYSTEM=="usb", SYSFS{idVendor}=="413c", MODE="0666"
# Foxconn
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", MODE="0666"
# Garmin-Asus
SUBSYSTEM=="usb", SYSFS{idVendor}=="091E", MODE="0666"
# Google
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
# HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
# Huawei
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", SYSFS{idVendor}=="0482", MODE="0666"
# LG
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
# Motorola
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
# Nvidia
SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"
# Pantech
SUBSYSTEM=="usb", SYSFS{idVendor}=="10A9", MODE="0666"
# Samsung
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
# Sharp
SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666"
# Sony Ericsson
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"
# ZTE
SUBSYSTEM=="usb", SYSFS{idVendor}=="19D2", MODE="0666"' > $rules_file

# Applying rules and restarting adb
chmod a+r $rules_file
service udev restart
adb kill-server
adb start-server

希望它对你有所帮助。

答案 1 :(得分:1)

我发现了我的问题。 Android指南说要命名udev文件51-android.rules。但对于较新版本的Ubuntu(Karmic和更早),它需要名称70-android.rules。这是我遵循的教程:http://esausilva.com/2010/05/13/setting-up-adbusb-drivers-for-android-devices-in-linux-ubuntu/。谢谢你的答案。

答案 2 :(得分:0)

您应该为您的设备安装usb-drivers(即使您可以访问您的文件系统)。也许它是一个标准的驱动程序,允许您在手机上使用SD卡(但仅此而已)。

答案 3 :(得分:0)

尝试为Ubuntu搜索LG的通用adb驱动程序,安装它们,重新启动并连接手机。然后转到终端,使用adb导航到文件夹,并使用以下命令查看您的设备是否已被识别:

./adb devices

如果它显示您的设备,则可以与android sdk一起使用。

答案 4 :(得分:0)

64位Ubuntu还有一个额外的步骤:     apt-get install ia32-libs

也许这就是问题所在?