Android Debug Bridge updaten

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 26.01.2015 18:08:35

adb ist ein 32Bit-Binary. Sofern du also amd64 fährst und Multiarch nicht eingerichtet hast, ist die Fehlermeldung „… nicht gefunden“ typisch. Wenn man sich aus ’nem Archiv einzelne Sachen rausholt und wild umbenennt, ohne Abhängigkeiten und ähnliche Sachen zu berücksichtigen, ist’s ebenfalls typisch, dass es nicht funktioniert.

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Android Debug Bridge updaten

Beitrag von Success » 26.01.2015 18:21:42

arch sagt x86_64

vermute mal ich hab Multiarch aktiviert

und ich hab diese 2 Dateien rausgeholt da das Script sowieso das gleiche gemacht hätte. Nur nach /usr/bin was ja nicht sein muss.

add-apt-repository ppa:sun-java-community-team/sun-java6; kennt Debian nicht mal. Konnte ich also nicht installieren. Java hab ich ja sowieso schon oben. (.tar Datei von oracle)
nur einzig und allein das mit dem udev/rules hab ich vielleicht ignoriert da dies auch Rootzugriff braucht und ich nicht weiß was das genau macht.

DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 26.01.2015 18:45:49

vermute mal ich hab Multiarch aktiviert
Vermute mal, dass nicht. Oder die entsprechenden x86-Libs nicht installiert. ldd adb bringt Klarheit.

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Android Debug Bridge updaten

Beitrag von Success » 26.01.2015 21:23:42

ldd adb: not a dynamic executable

DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 26.01.2015 21:46:05

Dann hast du die falsche Datei aus dem Archiv gepickt. Es so entpacken/installieren, wie der Hersteller es vorgesehen hat, wäre zu einfach gewesen?

Situation hier:

Code: Alles auswählen

niemand@arch_Xeon:~/Android/Sdk/platform-tools$ file adb 
adb: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, not stripped
niemand@arch_Xeon:~/Android/Sdk/platform-tools$ ldd adb
        linux-gate.so.1 (0xf7605000)
        librt.so.1 => /usr/lib32/librt.so.1 (0xf75ce000)
        libdl.so.2 => /usr/lib32/libdl.so.2 (0xf75c9000)
        libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf75ac000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf74b7000)
        libm.so.6 => /usr/lib32/libm.so.6 (0xf7469000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf744e000)
        libc.so.6 => /usr/lib32/libc.so.6 (0xf7296000)
        /lib/ld-linux.so.2 (0xf7606000)
(Die Pfade zu den Libs sind unter Debian andere)

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Android Debug Bridge updaten

Beitrag von Success » 26.01.2015 22:15:58

niemand hat geschrieben:Dann hast du die falsche Datei aus dem Archiv gepickt. Es so entpacken/installieren, wie der Hersteller es vorgesehen hat, wäre zu einfach gewesen?
Wie jetzt? Mit oder ohne root installieren? Für die vorgesehene Methode muss ich das ganze nach /usr/bin kopieren. Außerdem hat diese .zip Datei von dem xda Forum eh nur 3 Dateien. adb_linux fastboot_linux und diese udev_rules 51 Datei. Mich würd interessieren wie ich das apt-add repository ppa zusammenbringe. Allein das funktioniert schon nicht.

DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 27.01.2015 06:47:40

Der Weg wurde doch weiter oben schon beschrieben: sdk-tools laden, entpacken, updaten (wobei die platform-tools gezogen werden), fertig. Kein Root, kein umherschmieren in Systemverzeichnissen, nichts.

Zu ppa-Zeugs ist eigentlich nur eins zu sagen: ist meist ein guter Weg, sich sein System zu zerlegen. Kann man nehmen, wenn’s das manuelle Umherpfuschen in den Systemverzeichnissen noch nicht gebracht hat.

reox
Beiträge: 2463
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Android Debug Bridge updaten

Beitrag von reox » 28.01.2015 10:37:11

Also schritt für schritt anleitung:

Code: Alles auswählen

$ su root
# Laut https://wiki.debian.org/Multiarch/HOWTO braucht man diese libs damit das alles rennt
$ dpkg --add-architecture i386
$ apt-get update
$ apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
# jetzt wieder auf einen unpriviligierten nutzer wechseln
$ su demouser
$ cd
$ wget http://dl.google.com/android/android-sdk_r24.0.2-linux.tgz
$ tar xvf android-sdk_r24.0.2-linux.tgz
$ cd android-sdk-linux/tools
$ ./android update sdk -u
# y beim licence dings drücken (insgesamt 3x)
# dann lange warten beim download von den ganzen SDKs
$ cd ../platform-tools
$ file adb
adb: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
# jetzt noch extra
# gehört dann sinnvollerweise an einen platz wo es jedes mal angehängt wird (zB .bashrc)
$ export PATH=$PATH:~/android-sdk-linux/platform-tools/
$ cd ~
# sollte jetzt auch ganz ohne root klappen
$ adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Kein Root, kein Sudo.
Java war auf der Kiste aber schon installiert, aus Gründen rennt dort sogar ein Oracle Java 7, welches mit https://wiki.debian.org/JavaPackage gebaut wurde.
Du kannst aber auch afaik einfach das jdk tar.gz herunterladen, entpacken und den bin ordner daraus zu deinem PATH hinzufügen. Dann brauchst du nicht mal hier ein Package installieren. Hab ich jetzt aber nicht extra getestet. Die Anleitung oben habe ich gerade auf einer echten Maschine mit einem neu erstellten user ausprobiert.

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Android Debug Bridge updaten

Beitrag von Success » 31.01.2015 19:53:22

dpkg --add-architecture i386
$ apt-get update
$ apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

ok nachdem funktioniert adb aber nur wenn ich direkt in das Verzeichnis ~/android/platform-tools/adb gehe und ./adb ausführe.

Gib ich adb so ein findet er nix. Das war vorher nicht so.

DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 31.01.2015 23:02:22

Dann nimm den Pfad halt in die $PATH auf. Dafür ist die Variable schließlich da.

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Android Debug Bridge updaten

Beitrag von Success » 31.01.2015 23:19:14

ok hab PATH=$adb:~/adb eingegeben

Problem ist das zwar der Befehl adb geht aber sämtliche andere Befehle wie ls, nano usw gehen nicht mehr. Außerdem krieg ich das nur bis zum nächsten mal einloggen hin. Hab das gleiche mit einem export davor gemacht aber das löste auch das Problem nicht.

Edit: Das Problem hatte ich auch als ich java als User installieren wollte. Wenn ich das mit dem Path für adb hinkrieg, kann ich Java theoretisch auch als User installieren oder?

DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 31.01.2015 23:21:07

Möglicherweise wolltest du eher PATH=$PATH:/home/user/android/platform-tools eingeben, und das z.B. in der .bashrc hinterlegen?

Zum Edit: ja, natürlich. Das sage ich schon die ganze Zeit …

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Android Debug Bridge updaten

Beitrag von Success » 31.01.2015 23:23:09

also von .bashrc und .profile hab ich auch schon gelesen. Jedoch stehen da Sachen wo ich gar keinen Plan hab. Kann mit if fi usw nix anfangen und sobald ich an der letzten Zeile was hinzufüge hab ich das Problem das ich nur adb als befehl hab.

.bashrc oder .profile was brauch ich da jetzt?

DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 31.01.2015 23:27:39

Ich hab meine userspezifische Erweiterung in der .bashrc. Und wenn du den alten Inhalt nicht überschreibst, sondern das neue Verzeichnis nur anhängst (wie ich es geschrieben habe), gehen auch die ganzen anderen Sachen anschließend noch.

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Android Debug Bridge updaten

Beitrag von Success » 31.01.2015 23:31:30

ok jetzt gehts. Brauch ich eigentlich nur die ADB Binary (nennt man das so?) oder die ganzen Ordner mit z.b Dokumentationen für Jelly Bean und Kit Kat usw?

DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 31.01.2015 23:38:53

Was du brauchst, wirst du schon selbst wissen müssen.

Success
Beiträge: 288
Registriert: 01.06.2013 21:23:15

Re: Android Debug Bridge updaten

Beitrag von Success » 02.02.2015 16:25:05

Hmm scheint als benötigt man für adb schon Rootrechte.

mario@server:~$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
???????????? no permissions

starte ich den adb Server als root wird mein Gerät ganz normal erkannt.

Hab laut diversen Anleitungen bereits eine Datei /etc/udev/rules.d/51-android.rules erstellt und ausführbar gemacht mit dem Inhalt aus dieser Datei https://raw.githubusercontent.com/M0Rf3 ... roid.rules


Trotzdem kann man nicht als normaler User auf das Gerät zugreifen.

DeletedUserReAsG

Re: Android Debug Bridge updaten

Beitrag von DeletedUserReAsG » 02.02.2015 18:20:17

Ich kann dir leider nicht mehr sagen, wie ich es seinerzeit unter Debian gemacht habe, aber ich hatte es sehr wohl als User laufen. Unter meinem jetzigen System geht’s ootb.

reox
Beiträge: 2463
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Android Debug Bridge updaten

Beitrag von reox » 10.02.2015 23:02:41

mh, ja vermutlich muss das usb gerät in der richtigen gruppe sein damit es klappt.
so schaut das bei mir aus:

Code: Alles auswählen

$ lsusb
Bus 003 Device 006: ID 18d1:4ee2 Google Inc. Nexus 4 (debug)

$ ls -al /dev/bus/usb/003/006
crw-rw----+ 1 root adb 189, 261 Feb 10 22:48 /dev/bus/usb/003/006
Interessant ist aber dass ich tatsächlich ein Nexus 5 habe, trotzdem aber die USB ID von einem Nexus 4... egal rennt trotzdem.

Bei mir wird das Gerät gleich in die Gruppe adb gegeben. Da ich Debianandroid-tools-adb verwende wird das vermutlich über das Script /lib/udev/rules.d/70-android-tools-adb.rules gelöst, welches vom Paket installiert wird.
Also ich würde das Problem so lösen, dass du Debianandroid-tools-adb installierst, welches dir die passenden udev rules liefert und dann einfach dein eigenes adb verwendest.
Oder da du ja schon eine UDEV rule datei hast, sollte es klappen. Wenn du allerdings exakt die Datei verwendest die du gepostet hast, wird in der dritt-letzten zeile:

Code: Alles auswählen

ENV{adb_user}=="yes", MODE="0660", GROUP="adbusers", TAG+="uaccess"
dem usb gerät der zugriff von der gruppe adbusers gewährt. In diese Gruppe must du natürlich deinen Useraccount ebenfalls geben, damit es funktioniert!
dH einmal

Code: Alles auswählen

groupadd adbusers && useradd -G adbusers <deinusername>
machen. Damit wird die Gruppe adbusers erstellt und du fügst dich der Gruppe hinzu.
Wenn du testen willst ob das Gerät der richtigen Gruppe hinzugefügt wirst, siehst du ganz oben im Post eh die befehle dafür: mittels lsusb (im package Debianusbutils) listest du alle USB Geräte. Dort steht bei deinem Android Gerät Bus und Device. Dann machst du ein ls -al auf /dev/bus/usb/<Die Bus ID>/<Die Device ID>. Wenn dort dann nicht root als user und adbusers als gruppe steht, greift die udev regel nicht.

Antworten