Android обратный привязывать через usb (не root)

Я разрабатываю корпоративное приложение в PhoneGap, и я хочу работать в автономном режиме с некоторыми данными, а через плагин (с кодом, написанным на Java) отправлять обработанные данные обратно по сети LAN (когда это было обнаружено), но мне нужны некоторые образцы кода для создания обратного привязки без укоренения устройства или использования внешних приложений.

Я пытаюсь избежать создания локального компонента в машине windows, я хочу отправить данные непосредственно с помощью REST команды.

любые примеры кода или предложения приветствуются.

3 ответов


Я знаю, что это происходит довольно поздно, но, похоже, никакого реального решения еще не найдено, и это может помочь читателям:

поскольку я не мог найти никакого решения сам, я разработал приложение, которое предлагает обратный привязки для некорневых устройств Android под управлением Android 4.0 или выше. Поддерживаются все основные настольные операционные системы.

приложение доступно в Google Play: https://play.google.com/store/apps/details?id=com.floriandraschbacher.reversetethering.free


вы пробовали это простое решение

для Windows: установка драйверов USB из Android SDK Подключите USB-кабель и активируйте USB-модем. Вы должны увидеть в linux или windows новый сетевой интерфейс.

в windows Соедините 2 сетевых интерфейса

Настройка интерфейса usb0 вашего телефона. У вас есть два варианта:

  1. С Вашего компьютера, выполните:

    ./ adb shell netcfg usb0 DHCP-сервер

  2. или в терминале на телефоне, типа:

    su в netcfg интерфейс USB0 протокола DHCP

теперь вы должны иметь возможность подключиться к Интернету на телефоне с помощью подключения к интернету вашего компьютера. http://acetips.wordpress.com/2011/10/07/reverse-usb-tethering/ и http://blog.mycila.com/2010/06/reverse-usb-tethering-with-android-22.html

для запуска команды adb из вашего приложения android вы могли бы использовать

String exeeCmd = "netcfg usb0 dhcp";      
        Runtime runtime = Runtime.getRuntime();
        try {
            runtime.exec(exeeCmd);
        } catch (IOException e) {
            e.printStackTrace();                
        }

применить необходимые разрешения


возможно, вы могли бы интегрировать инструменты обратной привязки сервис в вашем приложении