9 votes

Comment exécuter les commandes adb et fastboot à partir de Termux ?

Est-il possible d'exécuter adb y fastboot commandes à l'aide de l'émulateur de terminal Termux ? Je veux exécuter des commandes d'un Huawei T3 7 à un autre en utilisant un câble USB/OTG. J'ai besoin de déverrouiller le bootloader mais je n'ai pas accès à un PC ou un ordinateur portable.

5voto

Irfan Latif Points 16863

Cette question est presque une copie de este qui a une réponse détaillée par @ Maître du feu sauf la partie Termux. Comme mentionné par @ DeathMaskSalesman en commentaire, Termux ressemble plus à un environnement Linux, mais jusqu'à présent il n'a pas de adb y fastboot dans les dépôts, bien que proposée . Très probablement parce qu'ils sont destinés aux appareils enracinés. Mais vous pouvez utiliser des binaires statiques (par ex. este o este ) sur Termux comme sur un émulateur de terminal habituel. Assurez-vous de définir les variables d'environnement appropriées ( TMPDIR , HOME o HOMEDIR ).

Cependant, vous ne pourrez pas exécuter chacun d'entre eux sans Root, car seuls les membres de l'association AID_USB sont capables de lire les dispositifs dans /dev/bus/usb/ ( 1 ) . De plus, SELinux restreint l'accès des applications non privilégiées aux éléments suivants /sys y /dev .

Pour adb il y a un solution de contournement si les deux appareils sont connectés au même réseau, par exemple un réseau Wi-Fi ou un hotspot. adbd peut être exécuté pour écouter sur un socket TCP au lieu de USB. C'est possible si avant d'activer la propriété "USB Debugging" (débogage USB) service.adb.tcp.port ( 2 ) est fixé à un certain port ( premier défaut est 5555 ). Les applications ne peuvent pas définir les propriétés, donc pour le faire en utilisant setprop sur adb shell ou en exécutant simplement adb tcpip 5555 vous devez connecter le périphérique cible à un PC via USB. Ensuite, tout ce que vous avez à faire à partir de Termux avant d'envoyer des commandes est :

~$ adb connect <IP>:5555

Mais service.adb.tcp.port est réinitialisé lors des redémarrages et vous devez le régler à nouveau. Il existe une autre propriété persist.adb.tcp.port qui persiste à travers les redémarrages, mais il n'est destiné qu'à tests et SELinux ne vous laissera pas le définir sans Root ou une application système s'exécutant avec l'UID 1000 .

Certaines ROMs personnalisées ont un bouton intégré pour définir service.adb.tcp.port . Mais pour fastboot La racine est indispensable. Cependant, il est possible sur Android d'accéder aux périphériques USB OTG par le biais de android.hardware.usb APIs. fastboot-mobile est une bibliothèque non-officielle de Google pour envoyer fastboot sur OTG. Cette application (je n'ai aucune affiliation) fournit également une fonctionnalité limitée similaire.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X