Я хотел бы активировать «USB-модем» из скрипта bash, так есть ли возможность запустить командную строку, adb shell
чтобы изменить некоторые настройки Android?
Edit1 :
Следующая команда открывает необходимые настройки, но ничего не меняет в одиночку:
am start -n com.android.settings/.TetherSettings
Я нашел имя действия TetherSettings из
aapt dump xmltree com.android.settings.apk AndroidManifest.xml | less +/ether
aapt dump xmltree com.android.settings.apk AndroidManifest.xml
но на моем телефоне это не сработало (aapt not found). Как я могу увидеть список доступных настроек?find / -name 'com.android.settings.apk'
по телефону, но ничего не пришло :(Ответы:
Выполнение следующей команды от имени root должно включить USB-модем:
service call connectivity 32 i32 1
на сэндвич с мороженым (4,0)service call connectivity 33 i32 1
на желе (от 4,1 до 4,3)service call connectivity 34 i32 1
на KitKat (4.4)service call connectivity 30 i32 1
на леденец (5.0)service call connectivity 31 i32 1
на леденец (5.1) в соответствии с ответом по Firelordservice call connectivity 30 i32 1
на Зефир (6.0), не провереноservice call connectivity 41 i32 1
на зефир самсунг (6.0)service call connectivity 33 i32 1
на нуге (7,0)service call connectivity 39 i32 1
на Samsung Nougat (7.0)Первое число, которое вы видите в командах, -
setUsbTethering()
это номер методаIConnectivityManager.aidl
(это зависит от версии Android и не существует в Gingerbread).(Совет: чтобы проверить этот файл для определенной версии Android, выберите соответствующую ветку.)
Поэтому эта команда вызывает
setUsbTethering()
и передает либо 1 (включить USB-модем), либо 0 (чтобы отключить ее).Для получения дополнительной информации см. Этот связанный вопрос о переполнении стека .
Если вы включаете USB-модем как часть настройки USB-модема, этого
setprop sys.usb.config rndis,adb
должно быть более чем достаточно дляrndis0
настройки интерфейса.источник
Есть довольно плохой метод, использующий
adb shell input tap
, Получить координаты для включения модема и заменыИли перейдите, чтобы включить радио с помощью
adb shell input keyevent
. Просто посмотрите наОпять же, это ограничивается конкретным устройством.
источник
adb shell "am start -n com.android.settings/.TetherSettings; input keyevent KEYCODE_DPAD_UP; input keyevent KEYCODE_ENTER"
. Я нашел список ключевых событий на SO.Попробуйте
setprop
команду ниже:источник
Модифицировано, чтобы использовать команду времени ожидания Windows вместо режима сна, сначала активировать экран и нажимать только один раз. Дважды вниз включен Wi-Fi модем на моем телефоне.
источник
service
Метод не работает для меня на моем Samsung устройства. Однако я понял, как это сделать, настроив сетевой интерфейс напрямую. Ниже приведен сценарий, который настраивает компьютер с Linux и подключенное к USB устройство с ОС Android для подключения к USB. Это не настраивает маскировку DNS или NAT, но достаточно, чтобы сделать устройство доступным в 192.168.42.129:Чтобы включить переадресацию (т. Е. Подключиться к Интернету с ПК через устройство Android), см. Мой вопрос и ответ здесь .
источник
это не зависит от устройства (переключает USB-модем)
источник