Отладка Android-приложения на устройстве - PullRequest
2 голосов
/ 26 декабря 2011

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

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

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

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

Ответы [ 5 ]

9 голосов
/ 27 декабря 2011

Вот мой окончательный сценарий добавления правил для всех устройств 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 голос
/ 27 декабря 2011

Я нашел свою проблему. Руководство по 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/. Спасибо за ваши ответы.

0 голосов
/ 27 декабря 2011

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

./adb devices

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

0 голосов
/ 27 декабря 2011

В 64-битной Ubuntu есть дополнительный шаг: apt-get install ia32-libs

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

0 голосов
/ 26 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...