2011-12-26 5 views
2

Я знаю, что есть много вопросов об этом, но ни один из них не помог моей ситуации. Я запускаю Ubuntu 11.10, и я пытаюсь отлаживать приложение на своем телефоне LG. Я следил за этим руководством: http://developer.android.com/guide/developing/device.htmlОтладка Android-приложения на устройстве

Я включил USB-отладку на моем телефоне, установил проект для отладки в манифесте и отредактировал файл правил /etc/udev/rules.d/51-android.rules. Вот содержание файла:

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

1004 является идентификатором продавца для LG. Устройство установлено; Я могу получить доступ к нему в своей файловой системе, а индикатор USB установлен в области уведомлений. Когда я запускаю устройства adb, телефон не указан, только эмулятор. Он также не распознается в Eclipse. Как я могу заставить Eclipse распознать мое устройство?

+0

Это 64-разрядный Ubuntu? – barry

+0

Да. Это еще одна вещь, которая не работает должным образом с 64-битной версией? – Matt

ответ

9

Вот мой окончательный сценарий добавления правил для всех устройств Android. Вы должны удалить ваши ое-android.rules файлов, если вы написали его и сделать это с помощью Суда:

#!/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

+0

Если вы используете другую версию Ubuntu (новый/старый), чем этот скрипт, вам может потребоваться изменить номер для '## - android.rules'. Если вы откроете '/ etc/udev/rules.d /', то уже должно быть уже один или два файла правил, просто следуйте соглашению об именах уже в этой папке. – retrohacker

0

Вы должны установить usb-драйверы для своего устройства (даже если у вас есть доступ к вашей файловой системе). Возможно, это стандартный драйвер, который позволяет использовать SD-карту на вашем телефоне (но не более того).

0

Попробуйте найти универсальные драйверы adb для LG для Ubuntu, установите их, перезагрузите и подключите свой телефон. Затем перейдите к терминалу, перейдите в папку с ADB и использовать следующую команду, чтобы увидеть, если ваше устройство распознается:

./adb devices 

Если он показывает устройство, оно готово к использованию с Android SDK.

0

Существует дополнительный шаг на 64-битной Ubuntu: APT-получить установку ia32-ЛИЭС

Может быть, это проблема?

+0

Это была проблема, но я установил эту библиотеку, когда я установил SDK. – Matt

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/. Спасибо за ваши ответы.

Смежные вопросы