A execução do seguinte comando como root deve ativar o tethering USB:
service call connectivity 32 i32 1
em Sanduíche de Sorvete (4.0)
service call connectivity 33 i32 1
no Jelly Bean (4.1 a 4.3)
service call connectivity 34 i32 1
no KitKat (4.4)
service call connectivity 30 i32 1
em pirulito (5.0)
service call connectivity 31 i32 1
no pirulito (5.1) de acordo com uma resposta do Firelord
service call connectivity 30 i32 1
no Marshmallow (6.0), não testado
service call connectivity 41 i32 1
no Samsung Marshmallow (6.0)
service call connectivity 33 i32 1
em Nougat (7.0)
service call connectivity 39 i32 1
no Samsung Nougat (7.0)
O primeiro número que você vê nos comandos é o setUsbTethering()
número do método IConnectivityManager.aidl
(isso depende da versão do Android e não existe no Gingerbread).
(Dica: para verificar se esse arquivo possui uma versão específica do Android, selecione a ramificação apropriada.)
Portanto, o que esse comando faz é chamar setUsbTethering()
e passar 1 (ativar o tethering USB) ou 0 (para desativá-lo).
Para obter mais informações, consulte esta pergunta relacionada no Stack Overflow .
Se você estiver ativando o tethering USB como parte de uma configuração de tethering reverso USB, setprop sys.usb.config rndis,adb
deve ser mais do que suficiente para rndis0
configurar a interface.
aapt dump xmltree com.android.settings.apk AndroidManifest.xml
mas isso não funcionou no meu telefone (aapt não encontrado). Como posso ver uma lista das configurações disponíveis?