Ich verwende Ubuntu 12.10 und habe Android SDK installiert, den Pfad in meinem Benutzer festgelegt .bashrc
und es funktioniert.
Das Problem ist, dass mein Telefon erfordert, dass adb von root ausgeführt wird, um Berechtigungen zu erhalten. Beim Ausführen von adb mit sudo wird jedoch die folgende Fehlermeldung angezeigt:
sudo: adb: befehl nicht gefunden
Ich habe versucht, einfach zu verwenden sudo -E adb start-server
, aber es funktioniert nicht. Es wurde versucht, die Exportpfadzeile zu /root/.bashrc
und (nachdem festgestellt wurde, dass dies nicht geholfen hat) zu hinzuzufügen /etc/bash.bashrc
.
Ich erinnere mich, dass ich es auf meinem Arch Linux einstellen konnte, aber ich vermute, dass mein Problem jetzt mit dem Ubuntu-Root-Konto verbunden ist und sich nicht so verhält, wie ich es erwartet habe.
Was ich nicht verstehe, ist das Folgende:
Diese funktionieren nicht:
martin@alyx:~$ sudo adb devices
sudo: adb: command not found
Dies funktioniert (Eingabe des vollständigen Pfads):
martin@alyx:~$ sudo /opt/android-sdk-linux/platform-tools/adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
CM7-Blade device
Dies funktioniert nicht (mit -E mit sudo):
martin@alyx:~$ sudo -E adb devices
sudo: adb: command not found
Das funktioniert (als root):
martin@alyx:~$ sudo su
root@alyx:/home/martin# adb devices
List of devices attached
CM7-Blade device
Ich bin jetzt total verwirrt und würde es begrüßen, wenn ich kläre, wie ich einen Pfad für sudo festlegen oder wie ich sonst mein Problem lösen könnte.
(Und bitte, sag nicht, dass adb nicht als root ausgeführt werden soll.)
Danke im Voraus!
Bearbeiten: Mit root-Berechtigungen meine ich, dass ich sie brauche, weil ich sonst Folgendes bekomme:
$ adb devices
List of devices attached
???????????? no permissions
was nicht als Superuser auftritt. Entschuldigung, wenn es ein Missverständnis war.
Antworten:
Bitte lesen Sie zuerst Folgendes: Wie richte ich Android ADB ein?
USB-Zugang konfigurieren
Erstens benötigen Sie keine Root-Berechtigungen, um ADB auszuführen, wenn Sie die Berechtigungen entsprechend festgelegt haben. Die AOSP-Site enthält Beispiele für die Konfiguration des USB-Zugriffs für Pixel / Nexus-Geräte. Sie können das folgende Schema für Nicht-Nexus-Geräte verwenden:
Die Hersteller- und Produkt-ID erhalten Sie, indem Sie
lsusb
Ihr Gerät verwenden und nach ihm suchen. (Hinweis: Das Gerät ist eigentlich ein Galaxy Nexus.)Meine
/etc/udev/rules.d/51-android.rules
udev-Regel sieht also so aus:Möglicherweise möchten Sie dies bei Bedarf für die anderen Telefonzustände wie Fastboot wiederholen. Damit die Änderungen wirksam werden, müssen Sie entweder udev (
sudo udevadm control --reload
) neu laden oder neu starten (empfohlen).Programme zur Verfügung stellen
Anstatt die Pfadvariable zu ändern, würde ich vorschlagen, der ausführbaren Datei entweder in
~/bin/
(nur Benutzer) oder in/usr/local/bin/
(systemweit) einen symbolischen Link hinzuzufügen .quelle
adb devices
funktioniert bei mir ohne root-rechte.Ich bin mit einem Tablet aus China (einem seltsamen Hersteller) auf dasselbe Problem gestoßen.
Zusätzlich zur
/etc/udev/rules.d/51-android.rules
Datei musste ich auch ändern~/.android/adb_usb.ini
.Laufen Sie unten am Terminal;
und Ihre
adb_usb.ini
Datei sollte so aussehen:Getrenntes und erneut verbundenes Gerät, muss auch unter den Befehlen auf dem Terminal ausgeführt werden.
und danach
Und das Gerät wurde erkannt.
quelle
0x2207
in Ihrem Beispiel die gleiche Hersteller-ID, die mein Gerät verwendet.In meinem Fall mussten einige Smartphones anstelle des MTP-Modus nur in den PTP-Modus versetzt werden, im Gegensatz zu den meisten Geräten, bei denen der MTP-Modus von meinem Android Studio (v1.5.1) erkannt werden musste.
Probieren Sie also zuerst den MTP- und den PTP-Modus aus, bevor Sie Zeit mit der komplexeren ADP-Konfiguration von Unix verbringen und diese möglicherweise beschädigen.
Bei neueren Geräten können Sie es direkt in den Dev-Optionen auswählen, während es sich bei älteren Geräten in den USB Connected Options in der Statusleiste befindet.
Aber auch für mich funktionieren die neuesten Sony Xperia-Geräte ab Z5 nicht, egal im USB-Modus. Vielleicht ist mein Android Studio alt oder ich muss auch mit den Unix-ADP-Konfigurationen graben.
quelle
Folge diesen Schritten:
Android vars einstellen
Gehen Sie zunächst zu Ihrem Zuhause und drücken Sie Ctrl+. HEs zeigt Ihnen, dass versteckte Dateien jetzt nach Dateien suchen
.bashrc
. Öffnen Sie sie mit einem beliebigen Texteditor und platzieren Sie die folgenden Zeilen am Ende der Datei:Starten Sie neu
Verwenden des Geräts zum Debuggen
Auf Verbindung warten:
Verbinden Sie Ihr Android-Gerät und autorisieren Sie es:
quelle
USB-Zugang konfigurieren
Der empfohlene Ansatz besteht darin, eine Datei unter zu erstellen
/etc/udev/rules.d/51-android.rules
.Bitte geben Sie das Terminal ein:
Diese neuen Regeln werden beim nächsten Anschließen eines Geräts wirksam. Daher muss das Gerät möglicherweise vom Computer getrennt und wieder an den Computer angeschlossen werden.
quelle
Obwohl die akzeptierte Antwort mir dabei half, Dinge zu erledigen, war ich dennoch verwirrt über:
und speziell
seit nach
sudo --help
:Es stellt sich heraus, dass auf vielen Linux-Distributionen (einschließlich Debian und Ubuntu)
secure_path
undenv_reset
Optionen standardmäßig aktiviert sind, wodurch IhrePATH
Variable zurückgesetzt und auf gesetzt wirdsecure_path
. Sie können es/etc/sudoers
mit visudo in der Datei ändern.Alternativ können Sie Folgendes ausführen:
quelle
Versuchen Sie diesen Befehl:
sudo tools/android update sdk --no-ui
SDK README:
quelle