2011-12-26 90 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

相關問題