Unzureichende Berechtigungen für das Gerät in Android Studio Workspace, das in openSUSE 13.2 ausgeführt wird
Lesezeit: 8 Minuten
portample
Ich habe ein gerootetes Motorola Defy +, auf dem ein benutzerdefiniertes Cyanogenmod v11-ROM (Nightly Build) ausgeführt wird, das von erstellt wurde Quarx. Wenn ich Android Studio Workspace, (ASW) v.1.1.0 verwende, erhalte ich, wenn ich versuche, auf diesem Gerät zu debuggen
????????????[null]
aufgeführt in der Wählen Sie Gerät Fenster, wobei das Logcat-Fenster angezeigt wird
insufficient permissions for device
Ich würde dieses Gerät und ROM wirklich gerne für Debugging-Zwecke verwenden.
Wenn ich eintrete lsusb Von der Befehlszeile bekomme ich,
Bus 002 Device 002: ID 22b8:431d Motorola PCS
Dies ist die korrekte Geräte-ID für Motorola-Geräte. Ich habe 51-android.rules und 71-android.rules installiert /etc/udev/rules.d/ mit den korrekten Motorola-IDs in diesen Dateien.
Ich habe auch versucht Widerrufen Sie die USB-Debugging-Autoritätaus Entwickleroptionen auf dem Gerät, ohne Glück.
Ich habe nicht versucht, ASW als root auszuführen, in der Hoffnung, dass es eine andere Option geben könnte; Gibt es?
Aktualisieren: Ich konnte in ADB einsteigen und darauf zugreifen
Ich habe dann einen Kill-Server durchgeführt, eine SU für den Root-Benutzer durchgeführt und den Server neu gestartet. Ich habe dann versucht, mich von Android Studio aus mit dem Gerät zu verbinden. Ich habe auf dem Gerät eine Meldung über das Akzeptieren des RSA-Schlüssels vom PC erhalten, „Ja“ gesagt und konnte die App dann auf dem Gerät bereitstellen. Also zurück zu meiner ursprünglichen Frage: Gibt es eine andere Möglichkeit, auf dieses Gerät zuzugreifen, ohne sich als Root anzumelden? Es scheint, als ob es ein Berechtigungsproblem im Telefondateisystem gibt, das dies verhindert …
Update Nr. 2 Das Kernproblem hier war eine Erlaubnissache. Obwohl das Ausführen von ADB als Root den Zugriff auf die verwurzelt Android-Gerät, eine bessere Lösung besteht darin, die Berechtigungen in der udev-Datei für dieses Gerät zu ändern … 664 auf 666 zurückzusetzen (siehe Antwort unten). Dadurch kann der PC auf das Dateisystem auf dem Gerät zugreifen.
Ich weiß, dass dies ein vereinfachter Ansatz sein könnte, aber haben Sie das USB-Debugging in den Entwicklertools aktiviert? Könnte es vorher mit einem Adb-Root versuchen. Und auch und abd remount
– Bogdan V.
24. Februar 2015 um 20:04 Uhr
@BogdanV. Ja, USB-Debugging ist aktiviert. Bitte erweitern Sie die Vorschläge in Ihren letzten beiden Sätzen. Vielen Dank.
– portample
24. Februar 2015 um 20:12 Uhr
Gehen Sie zu einem Terminal und geben Sie “adb devices” ein. Wenn Sie Ihr Gerät sehen, sieht die Android Debug Bridge (adb) das Gerät. Wenn dies der Fall ist, geben Sie „adb root“ ein, damit adb in der Lage ist, adb-Shell-Befehle als root auszugeben. Führen Sie dann einen adb-Remount durch, um Zugriff auf das gesamte Dateisystem auf dem Gerät zu erhalten. Wenn es immer noch nicht funktioniert, liegt das Problem bei Android Studio
– Bogdan V.
24. Februar 2015 um 20:39 Uhr
@BogdanV. Android Debug Bridge (ADB) wird weder als Benutzer noch als Root gefunden. Ich habe “adb devices” sowie “./adb devices” ausprobiert, wobei “no such file or directory” zurückgegeben wurde. Derzeit debugge ich mit Android Studio auf einem Panasonic Toughpad und habe keine Probleme.
– portample
24. Februar 2015 um 21:07 Uhr
Dies ist eigenartig, da adb ein grundlegendes Android-SDK-Tool ist. Möglicherweise haben Sie das Verzeichnis der Android-SDK-Plattform-Tools nicht zum Pfad hinzugefügt. Aber wie auch immer, wenn Sie eine Lösung haben, verwenden Sie diese.
– Bogdan V.
24. Februar 2015 um 21:12 Uhr
Ich hatte dies bei der Verwendung eines Linux-Computers mit einem Nexus 4 mit Android 5.1
Die Lösung bestand darin, sowohl „Debuggen über USB“ als auch „Als MTP verbinden“ zu aktivieren. Das Gegenteil ist der Fall, wenn Sie dasselbe Gerät und Android Studio und adb unter OSX verwenden. Damit Android Studio das Mobilteil erkennen kann, muss ich „Als MTP verbinden“ deaktivieren.
Ich bin in derselben Entwicklungsumgebung mit zwei verschiedenen Geräten auf ein ähnliches Verhalten gestoßen und fand, dass es erwähnenswert ist, dass jeder, der wie ich zu diesem Beitrag geführt hat, erwähnenswert ist. Ich habe ein LG Realm, das nur in Android Studio (unter Linux Mint) funktioniert, wenn ich eine Verbindung über MTP herstelle, und ein LG Logos, das nur funktioniert, wenn ich eine Verbindung über PTP herstelle. Es kann sich also lohnen, bei jedem problematischen Gerät an beiden Optionen zu basteln. Seltsam, ich habe gerade über eine Stunde gebraucht, um das herauszufinden …
– BMB
24. April 2016 um 19:19 Uhr
Das ist seltsam, aber es ist so. Ich bin mir nicht sicher, ob ich das Gerät montieren muss oder nicht.
– Jamie
28. Juli 2017 um 18:06 Uhr
Auf meinem Pixel XL musste ich „Use USB to transfer photos (PTP)“ auswählen.
– yohosuff
14. März 2018 um 0:57 Uhr
Auch bei Android Studio (3.0.1) musste ich MTP aktivieren.
– ffonz
25. März 2018 um 15:01 Uhr
Unter Android 8 finden Sie diese Option unter Entwickleroptionen -> Netzwerk -> USB-Konfiguration auswählen: MTP (Media Transfer Protocol).
– Lucio Paiva
13. Oktober 2018 um 20:06 Uhr
Ich habe eine einfache Antwort gefunden, die für mich funktioniert hat:
Fürs Protokoll, die sudo Teil von sudo adb start-server ist wichtig.
– qd
22. August 2017 um 15:01 Uhr
es zeigt eine Liste der angeschlossenen Geräte Emulator-5600 offline HNB1WC81 nicht autorisiert
– Saravanan Nandhan
11. Oktober 2017 um 5:44 Uhr
Hat gut funktioniert ..in Xiomi ..Note 3
– Prem Singh Bist
2. Juni 2018 um 6:19 Uhr
Es ist einfach. Ändern Sie einfach Ihren USB-Modus in den Dateiübertragungsmodus, dann funktioniert es.
Um es klar zu sagen, nehmen Sie diese Änderung auf dem Gerät vor. Bei meinem OnePlus ist es drin Einstellungen > Entwickleroptionen > Wählen Sie USB-Konfiguration > MTP (Medienübertragungsprotokoll)
– Don Smith
22. Mai 2019 um 2:52 Uhr
Diese Antwort hat bei mir funktioniert. Für Xiaomi Mi A2 Einstellung->Angeschlossene Geräte->USB->Dateiübertragung auswählen.
– Saleh Enam Shohag
23. Juli 2019 um 18:04 Uhr
Das hat bei mir auch funktioniert. Ich verwende Ubuntu mit Xiaomi Redmi Note 5. Wählen Sie einfach Dateiübertragung anstelle des Standardmodus “Laden”.
– rahmatns
17. Juni 2020 um 4:00 Uhr
Funktioniert mit Ubuntu, Flutter.
– Eray Erdin
27. April 2021 um 20:06 Uhr
Ubuntu 22.04 funktioniert wie ein Zauber.
– Danny Sofftie
24. August um 10:06 Uhr
kelalaka
Android 8
MTP ist nicht mehr verfügbar. Auf meinem Android 8 funktionierte die Option “Dateien übertragen” nicht.
“Fotos PTP übertragen” hat funktioniert und Studio hat den Gerätenamen angezeigt.
Schritte auf Ihrem Handy
Öffnen Sie die Entwickleroptionen
Aktivieren USB-Debugging.
Ändern Sie die USB-Verbindung zu PTP
Schritte unter Linux
auf Konsole ausführen sudo usermod -aG plugdev $LOGNAME
Android 9
Mit Android 9 verwenden Sie die Option File Transfer.
portample
Ändern der Berechtigungen in dieser Zeile von /etc/udev/rules.d/51-android.rules,
behebt dieses Problem auf eine Weise, die es NICHT erfordert, adb als root auszuführen.
Ja, wenn Sie allen Benutzern Berechtigungen erteilen, die funktionieren, aber Ihre Regeldateien basieren auf der Idee, dass Sie Ihr Benutzerkonto zur Plugdev-Gruppe hinzufügen, sich abmelden und dann wieder anmelden müssen – das gibt dir die “Gruppe” 6 im Original 0664.
– Chris Stratton
25. Februar 2015 um 19:40 Uhr
Diese Datei existiert für mich nicht, da ich Elementary OS Freya verwende
– Mark O’Sullivan
4. November 2016 um 11:43 Uhr
Ich habe diese Datei gerade auf Ubuntu 14.04 für ein Huawei-Gerät erstellt. Funktioniert perfekt! Danke für diese Antwort!!
– BenRoob
19. Juni 2017 um 9:37 Uhr
Ich musste den Adb-Server danach neu starten, um zu bekommen adb shell arbeiten
– rrosa
29. Juni 2017 um 3:45 Uhr
hat bei mir funktioniert, musste aber zuerst die Datei erstellen, da sie nicht existierte, und dann den idVendor in den Wert in lsusb ändern (siehe greg93-Antwort). Dies sollte nicht Teil des Beginns der Entwicklung unter Linux sein.
– Stärkungsmittel
23. November 2017 um 11:11 Uhr
Ranit
In meinem Telefon Symphonie W75optional USB-Computerverbindung-> auswählen Als Mediengerät verbinden (MTP) hat das Problem gelöst.
Ja, wenn Sie allen Benutzern Berechtigungen erteilen, die funktionieren, aber Ihre Regeldateien basieren auf der Idee, dass Sie Ihr Benutzerkonto zur Plugdev-Gruppe hinzufügen, sich abmelden und dann wieder anmelden müssen – das gibt dir die “Gruppe” 6 im Original 0664.
– Chris Stratton
25. Februar 2015 um 19:40 Uhr
Diese Datei existiert für mich nicht, da ich Elementary OS Freya verwende
– Mark O’Sullivan
4. November 2016 um 11:43 Uhr
Ich habe diese Datei gerade auf Ubuntu 14.04 für ein Huawei-Gerät erstellt. Funktioniert perfekt! Danke für diese Antwort!!
– BenRoob
19. Juni 2017 um 9:37 Uhr
Ich musste den Adb-Server danach neu starten, um zu bekommen adb shell arbeiten
– rrosa
29. Juni 2017 um 3:45 Uhr
hat bei mir funktioniert, musste aber zuerst die Datei erstellen, da sie nicht existierte, und dann den idVendor in den Wert in lsusb ändern (siehe greg93-Antwort). Dies sollte nicht Teil des Beginns der Entwicklung unter Linux sein.
– Stärkungsmittel
23. November 2017 um 11:11 Uhr
greg93
Lange zu kurz, ich hatte das gleiche Problem mit einem Prestigio PMP5570C Tablette,
Alles, was Sie tun müssen, ist, auf Ihrem Tablet zu bestätigen, dass Sie Daten auf/von Ihrem Computer kopieren möchten (was ich vergessen habe), und die 2 Zeilen hinzuzufügen, die @portsample geschrieben hat.
Sie finden die idVendor Ihrer Geräteeingabe
lsusb
in UBUNTU 12.04 erhalten Sie dann:
Bus 001 Gerät 011: ID 2207:0010,
wobei 2207 Ihre Anbieter-ID ist. Frage und Antwort zusammengefasst…
14187200cookie-checkUnzureichende Berechtigungen für das Gerät in Android Studio Workspace, das in openSUSE 13.2 ausgeführt wirdyes
Ich weiß, dass dies ein vereinfachter Ansatz sein könnte, aber haben Sie das USB-Debugging in den Entwicklertools aktiviert? Könnte es vorher mit einem Adb-Root versuchen. Und auch und abd remount
– Bogdan V.
24. Februar 2015 um 20:04 Uhr
@BogdanV. Ja, USB-Debugging ist aktiviert. Bitte erweitern Sie die Vorschläge in Ihren letzten beiden Sätzen. Vielen Dank.
– portample
24. Februar 2015 um 20:12 Uhr
Gehen Sie zu einem Terminal und geben Sie “adb devices” ein. Wenn Sie Ihr Gerät sehen, sieht die Android Debug Bridge (adb) das Gerät. Wenn dies der Fall ist, geben Sie „adb root“ ein, damit adb in der Lage ist, adb-Shell-Befehle als root auszugeben. Führen Sie dann einen adb-Remount durch, um Zugriff auf das gesamte Dateisystem auf dem Gerät zu erhalten. Wenn es immer noch nicht funktioniert, liegt das Problem bei Android Studio
– Bogdan V.
24. Februar 2015 um 20:39 Uhr
@BogdanV. Android Debug Bridge (ADB) wird weder als Benutzer noch als Root gefunden. Ich habe “adb devices” sowie “./adb devices” ausprobiert, wobei “no such file or directory” zurückgegeben wurde. Derzeit debugge ich mit Android Studio auf einem Panasonic Toughpad und habe keine Probleme.
– portample
24. Februar 2015 um 21:07 Uhr
Dies ist eigenartig, da adb ein grundlegendes Android-SDK-Tool ist. Möglicherweise haben Sie das Verzeichnis der Android-SDK-Plattform-Tools nicht zum Pfad hinzugefügt. Aber wie auch immer, wenn Sie eine Lösung haben, verwenden Sie diese.
– Bogdan V.
24. Februar 2015 um 21:12 Uhr