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.
Réponse
Trop de publicités?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.