2 votes

Activer le Tethering avec ADB - Android 5.1

Je suis sous LINUX, et j'ai créé un script simple pour activer : - L'activation de la connexion de données (3G/4G) - Activation du tethering sur ON - Changer la connexion ethernet du PC

Il ne me reste plus qu'à brancher mon téléphone sur ma clé USB, à lancer mon script et voilà :)

Mais, récemment j'ai eu un nouveau téléphone (Xiaomi MI4c) qui fonctionne avec Android 5.1.1 Et mon script ne fonctionne pas correctement, et je ne sais pas pourquoi !:pleurer : Tout fonctionne, sauf "enable tethering" avec ADB :

#adb shell su -c 'service call connectivity 30 i32 1' 
Result: Parcel(
  0x00000000: 00000000 00000002 00000006 006e0062 '............b.n.'
  0x00000010: 00700065 0064005c 00000000 00000006 'e.p.\.d.........'
  0x00000020: 00740062 0070002d 006e0061 00000000 'b.t.-.p.a.n.....')

Et rien ne s'est passé.

adb fonctionne bien :

# adb shell su -c 'service list connectivity'  |grep connectivity
54  connectivity: [android.net.IConnectivityManager]

J'ai trouvé ceci :

service call connectivity 32 i32 1 on Ice Cream Sandwich (4.0) 
service call connectivity 33 i32 1 on Jelly Bean (4.1 to 4.3) 
service call connectivity 34 i32 1 on KitKat (4.4)
service call connectivity 30 i32 1 on Lollipop (5.0)

Comment puis-je savoir quel numéro je dois utiliser pour activer cette fonctionnalité avec ADB ?

Merci pour votre aide.

1 votes

J'ai testé service call connectivity 31 i32 1 et ça a marché sous Android 5.1.1. Ne me demandez pas comment j'ai pu en être sûr, car il s'agissait d'essais et d'erreurs. Peut-être que cela m'a encore aidé : grepcode.com/file/repository.grepcode.com/java/ext/

1voto

Firelord Points 23064

Je ne suis pas sûr de la raison car j'ai obtenu le résultat en utilisant essais et erreurs mais cette commande ferait l'affaire pour Android 5.1.1 :

service call connectivity 31 i32 1

Comme prévu, vous avez besoin des privilèges de Root.

De même, vous pouvez être en mesure d'obtenir quelque chose d'intéressant à partir du code source d'un service, dans ce cas, ce serait Android.net.IConnectivityManager (gestionnaire de connectivité) .

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