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 1no pirulito (5.1) de acordo com uma resposta do Firelord
service call connectivity 30 i32 1no 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,adbdeve ser mais do que suficiente para rndis0configurar a interface.
aapt dump xmltree com.android.settings.apk AndroidManifest.xmlmas isso não funcionou no meu telefone (aapt não encontrado). Como posso ver uma lista das configurações disponíveis?