Ich habe verschiedene Anweisungen befolgt und konnte mein ZTE Blade schließlich für das USB-Debugging an meinen Ubuntu-Laptop anschließen. Das gleiche Setup funktioniert nicht, wenn ich das Telefon mit meinem "no-name" i.onik TP10.1-1500DC-Tablet austausche.
Ich habe verschiedene Kabel und verschiedene USB-Anschlüsse ausprobiert. Benötige ich einen speziellen Kabeltyp, um ein Tablet für das USB-Debugging anzuschließen?
Folgendes bekomme ich von einer Root-Shell:
~# adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
~#
(Ich weiß, dass es möglich sein sollte, adb
als Nicht-Root ausgeführt zu werden, aber dieser Test sollte Berechtigungsfehler ausschließen.)
Die lsusb
Ausgabe ist speziell für dieses Gerät, es wird keine Textbeschreibung angezeigt. Der erste Eintrag unten stammt von einem anderen Gerät, der zweite Eintrag vom Tablet. Ich habe dies überprüft, indem ich lsusb
mit und ohne angeschlossenem Tablet ausgeführt habe:
Bus 002 Device 005: ID 10d5:5000 Uni Class Technology Co., Ltd
Bus 002 Device 009: ID 2207:0010
Natürlich ist das USB-Debugging in den Einstellungen des Tablets aktiviert, und ich habe es bereits neu gestartet.
Irgendwelche weiteren Hinweise?
adb_usb.ini
Datei wurde das Problem sofort behoben. Vielen Dank! Möchtest du eine Antwort schreiben, damit ich sie akzeptieren kann?adb
verwendenapt-get install android-tools-adb
. Sie müssen niemals Dateien kopieren oderPATH
Einstellungen anpassen . Das Paket selbst ist winzig und enthält nuradb
einige notwendige Dateien.Antworten:
Izzys Antwort ist irreführend. Zwei Dinge, die nichts miteinander zu tun hatten, wurden verwechselt (die Hersteller-ID-Liste in adb auf der einen Seite und das Einrichten der Berechtigungen in Linux auf der anderen Seite).
1) Geräte von adb berücksichtigt:
Adb verfügt über eine fest codierte Liste der USB-Hersteller-IDs, die es versucht. Beispielsweise verwenden HTC-Mobiltelefone 0xbb4, das aufgelistet ist ( Quelldatei usb_vendors.c ), während 0x2207 dies nicht ist.
Die einzige Möglichkeit, dieser Liste etwas hinzuzufügen (ohne die Quelle zu patchen), besteht darin, Hersteller-IDs
$HOME/.android/adb_usb.ini
Zeile für Zeile in die Datei einzufügen . (HOME ist richtig eingerichtet?)Es wird kein spezielles Kabel benötigt.
2) Berechtigungssetup für Nicht-Root-Zugriff:
Das udev-Fiddling besteht darin, dem Benutzer Zugriff auf zB / dev / bus / usb / 002/009 zu gewähren (Änderung der Busnummer / Gerätenummer;
lsusb
aktuelle Werte siehe ).Die Details hierfür sind für die Frage des Originalplakats nicht relevant, da er adb als root ausführte.
quelle
Wie unter Konfigurieren von ADB für Nexus 4 unter Ubuntu 11.10 beschrieben , ist es unter Linux wichtig, entweder in
~/.android/adb_usb.ini
(benutzerbasiert) oder aufgeführt zu sein/etc/udev/rules.d/51-android.rules
. Die Syntax für beide Dateien ist unterschiedlich: Während es im ersten Fall ausreicht, einfach die Hersteller-ID (echo 0x18d1 >> ~/.android/adb_usb.ini
für ein Nexus 4) hinzuzufügen , ist der Eintrag für die UDEV-Regel etwas komplexer. Details finden Sie in der verknüpften Frage (bzw. deren Antworten).Im Fall von krlmlr war es kein "entweder-oder", aber anscheinend wurden beide Teile benötigt (das hatte ich noch nie und ich habe das noch nie benutzt
adb_usb.ini
- aber das heißt nicht, dass es keine solchen Ausnahmen gibt). Durch Hinzufügen des Geräts an beiden Stellen (was ohnehin nicht schaden kann) wurde das Gerät schließlich angezeigt.Zwei zusätzliche Anmerkungen: Nach dem Ändern der UDEV-Regeln muss der UDEV-Dienst neu gestartet werden, um die Änderungen zu akzeptieren. Unter Ubuntu kann dies über erfolgen
sudo service udev restart
(alternativ können Sie UDEV einfach zwingen, seine Regeln mit neu zu ladenudevadm control --reload-rules
). Wenn Ihr Gerät immer noch nicht erkannt wird, wurde es höchstwahrscheinlich angeschlossen, während Sie die Änderungen vorgenommen haben. Sie müssen dann das USB-Kabel trennen und wieder anschließen. Natürlich muss das USB-Debugging auf Ihrem Gerät aktiviert sein :)Beispiel
von krlmlr
Basierend auf der folgenden Ausgabe von
lsusb
für das betreffende Android-Gerät:es war notwendig,
/etc/udev/rules.d/51-android.rules
wieroot
bei folgenden Inhalten zu erstellen :und
~/.android/adb_usb.ini
mit folgenden Inhalten zu erstellen :Die erste ist erforderlich, damit reguläre Benutzer (die zur Gruppe gehören
plugdev
) auf das Gerät zugreifen können. Beachten Sie die Berechtigungsmaske0660
anstelle der häufig gesehenen,0666
die aus Sicherheitsgründen schwächer ist (letztere ermöglicht den Zugriff auf "Welt", während erstere nur den Zugriff auf "Benutzer und Gruppen" ermöglicht). Die zweite ist erforderlich, damit zunächstadb
versucht wird, mit dem Gerät zu sprechen. Nachdem:und ziehen Sie den Stecker aus der Steckdose und schließen Sie Ihr Android-Gerät an. Dann,
Endlich zeigte sich das Android-Gerät.
Bemerkung von Izzy:
Für mein LG Optimus 4X HD war es ausreichend, eine Zeile hinzuzufügen zu
/etc/udev/rules.d/51-android.rules
:Vielleicht
SYMLINK
macht die Option den Unterschied, dass ich den zusätzlichen Eintrag in nicht brauchte~/.android/adb_usb.ini
.quelle
rules.d
. Nach meinem Verständnis musste ich beides tun: Die Einstellung in der.ini
Datei ist für Geräte ohne Namen erforderlich, von denenadb
nicht bekannt ist, dass sie Android ausführen, während dierules.d
Einstellung erforderlich ist, um ohneroot
Berechtigungen auf das Gerät zuzugreifen ..ini
Datei gepatcht , und es hat funktioniert, ohne dass ichudev
als normaler Benutzer neu starten musste. (Ich musste denadb
Server jedoch neu starten .) Ich hatte das Gerät bereits ohne Erfolg zu den Regeln hinzugefügt. Diese spezielle Information über die.ini
Datei ist sehr schwer zu finden. Lassen Sie uns ein Q & A erstellen, das die Dinge endlich.ini
. Ja wirklich. Ich habe gerade alle Kombinationen überprüft. Außerdem ist , wie Sie richtig gesagt haben, das.ini
muss in der Heimat des entsprechenden Benutzers leben - so, wenn Sie ausführen möchten ,adb
wieroot
, müssen Sie es hinzufügenroot
‚s -.android
Verzeichnis.Versuchen Sie, adb_usb.ini zu bearbeiten und Ihre Geräte-ID hinzuzufügen. Sie finden sie, indem Sie zum Geräte-Manager gehen. Suchen Sie das Doppelklick-Menü "Android ADB-Schnittstelle". Gehen Sie zur Registerkarte "Details" und wählen Sie im Dropdown-Menü "Eigenschaft" die Option "Hardware" IDs "auf dem Feld darunter mit der Bezeichnung" Werte ". Sie sollten so etwas wie" USB \ VID_2207 & PID_0010 & MI_01 "sehen. Die Nummern können je nach Hersteller-ID Ihres Geräts unterschiedlich sein. Meine Lieferanten-ID lautet beispielsweise" 2207 ". Öffnen Sie nicht die adb_usb.ini auf der Ordner unten und fügen Sie Ihre Geräte-ID im Hex-Format hinzu
Zum Beispiel ist meine Geräte-ID "2207". Ich werde sie dort als "0x2207" einfügen.
Es befindet sich normalerweise in
Wenn der Ordner jedoch nicht vorhanden ist, versuchen Sie, ihn mit cmd zu erstellen. Und wenn die Datei adb_usb.ini auch nicht existiert, können Sie sie mit dem Editor erstellen und nur Ihre Geräte-ID einfügen und im Ordner .android speichern.
quelle