2010-11-13 3 views
1

Есть ли способ включить опцию USB Tethering в Android 2.2 FRG22D с помощью команды оболочки?Как включить Android-привязку с помощью команд оболочки?

Моя цель - превратить Motorola Droid с Android 2.2 в микросервер. Это устройство не может подключиться к 3G и Wi-Fi не является вариантом. Устройство всегда будет подключаться через USB к компьютеру с сетевым подключением. Я получил обратный модем, но мне все равно нужно вручную установить флажок USB Tethering (Настройки-> Беспроводная связь & Networks -> Tethering -> USB Tethering) каждый раз, когда USB-соединение сбрасывается (например, когда компьютер перезагружается, кабель отсоединен и т. д.). Моя цель - написать сценарий, который можно запустить на главном компьютере, чтобы подключить USB Tethering без необходимости касаться Droid (у меня есть root-доступ, и устройство всегда будет подключаться через USB, поэтому я могу выпустить команды оболочки с помощью ADB).

Я искал команду оболочки для этого, но ничего не получилось. Еще одно возможное решение заключается в том, что я могу написать небольшое приложение (либо с помощью NDK, либо SDK), и вызвать его из сценария, но опять-таки не могу найти никакой информации о том, как сменить код системы (как минимум настройки уровня сети).

Любые предложения?

+0

После поиска исходного кода на Android я нашел 2 возможных решения. «IConnectivityManager.tether (String iface)» и «int CommandListener :: TetherCmd :: runCommand (SocketClient * cli, int argc, char ** argv)». Но я не могу понять, как использовать любой метод. Первый будет через Java, второй - родным. – Superfuzz

ответ

1

в исходном коде приложения «Настройки», используется mWifiManager.setWifiApEnabled (null, enable), но эта функциональность, кажется, отсутствует в SDK (проверены 2.2 и 2.3).

+0

Да, этого было бы не хватать, поскольку у него есть какой-то функциональный андроид, который не имеет механизма для авторизации приложения SDK, но разрешает только в результате прямого взаимодействия с пользователем. –

+0

Спасибо, я посмотрю на это, когда у меня будет время снова, но из того, что я видел до сих пор, это должно быть приложение уровня NDK, поскольку, похоже, нет способа получить доступ к этим настройкам через SDK. – Superfuzz

Смежные вопросы