2011-12-26 94 views
2

我知道有很多关于这方面的问题,但没有一个帮助我的情况。我正在运行Ubuntu 11.10,并且正在尝试调试我的LG手机上的应用程序。我遵循本指南:http://developer.android.com/guide/developing/device.html在设备上调试Android应用程序

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

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

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

+0

它是64位的Ubuntu? – barry 2011-12-26 20:49:44

+0

是的。这是否与64位版本无法正常工作? – Matt 2011-12-26 21:01:44

回答

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 

希望它可以帮助你。

+0

谢谢。这比手动对其进行硬编码要好得多。我会运行这个,希望我不必再担心它。 – Matt 2011-12-27 05:41:41

+0

如果您运行的是不同于此脚本的Ubuntu版本(新版本/旧版本),则可能需要更改'## - android.rules'的编号。如果打开'/ etc/udev/rules.d /',应该已经有一个或两个规则文件,只需按照该文件夹中的命名约定。 – retrohacker 2012-07-21 03:02:12

0

您应该为您的设备安装usb驱动程序(即使您有权访问您的文件系统)。也许它是一个非标准的驱动程序,它允许你在你的手机上使用SD卡(但没有其他)。

0

尝试搜索LG for Ubuntu的通用adb驱动程序,安装它们,重新启动并连接手机。然后进入终端,导航与亚行到文件夹并使用下面的命令来查看设备是否认可:

./adb devices 

如果它显示你的设备,它已准备好与Android SDK中使用。

0

有在64位的Ubuntu额外的步骤: apt-get的安装IA32-库

也许这就是问题?

+0

这是一个问题,但我在安装SDK时安装了该库。 – Matt 2011-12-26 22:19:20

相关问题