Мое приложение встраивает локальный сервер HTTP, которые могут быть доступны через устройства обратной петли по адресу: http://127.0.0.1:8080/Android 127.0.0.1 (петлевой) подключение: Работы по Wi-Fi, терпит неудачу с 3G/4G
Он прекрасно работает с поддержкой Wi-Fi , он также отлично работает без внешней сети (без WiFi, без 3G), но он не работает, когда WiFi отключен и 3G включен.
Подключение через ADB оболочки и выполнения «netcfg» Я могу видеть, что петлевой устройство всегда включено:
[email protected]:/ $ netcfg
...
lo UP 127.0.0.1/8 0x00000049 00:00:00:00:00:00
...
ALoS «пинг 127.0.0.1» продолжает работать при включении/выключения Wi-Fi или 3G ,
Любая идея?
ОБНОВЛЕНИЕ: Добавление к головоломке. С моей DEV компьютера переадресовать порт TCP:
$ adb forward tcp:8080 tcp:8080
Тогда я пытаюсь соединить с ПК с помощью http://127.0.0.1:8080/. Он работает, но когда он продолжает терпеть неудачу при использовании браузера, запущенного на устройстве Android.
UPDATE 2015-06-01: При работе в сети 3G я вижу на ADB LogCat много ошибок, связанных с подобными:
W/ContextImpl( 504): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendStickyBroadcast:1239 com.android.server.TelephonyRegistry$3.onReceive:818 android.app.LoadedApk$ReceiverDispatcher$Args.run:788 android.os.Handler.handleCallback:725 android.os.Handler.dispatchMessage:92
и
E/CellLocation(8336): create GsmCellLocation
Это не имеет никакого смысла для запуска функции Gsm для подключения к устройству loopback.
UPDATE 2015-06-01 (2): мне удалось установить Wget в /data/data/com.XXXX.yyy/files/appFiles/bin
Затем я подключаю через "ADB оболочки" -> «обкатываются в com.XXXX.yyy» и, наконец, выполнить: Wget -O - «http://127.0.0.1:8080/»
я правильно работаю, так что я могу отказаться от какой-либо странных настроек безопасности, который отключает доступ кольцевой проверки на локальном хосте, так что я предполагаю, что это имеет какое-то отношение к WebView/WebViewClient, пытающемуся ошибочно использовать внешний прокси 3G для доступа к loopback. Теперь мне интересно, можно ли отключить прокси-сервер в WebView.
Я не понимаю, что вы пытаетесь сделать. Вы пытаетесь использовать браузер на своем устройстве Android, чтобы открыть веб-сайт, размещенный на вашем ПК? Кроме того, это подлинное устройство или эмулятор? – Squonk
@Squonk: На самом деле я пытаюсь использовать веб-сервер, доступ к которому можно получить локально (через веб-браузер или WebView) или внешний веб-браузер. Я работаю над настоящим (подлинным) устройством. – earizon