2015-05-30 15 views
1

Мое приложение встраивает локальный сервер 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.

+0

Я не понимаю, что вы пытаетесь сделать. Вы пытаетесь использовать браузер на своем устройстве Android, чтобы открыть веб-сайт, размещенный на вашем ПК? Кроме того, это подлинное устройство или эмулятор? – Squonk

+0

@Squonk: На самом деле я пытаюсь использовать веб-сервер, доступ к которому можно получить локально (через веб-браузер или WebView) или внешний веб-браузер. Я работаю над настоящим (подлинным) устройством. – earizon

ответ

1

Наконец, это выглядит проблемой, связанной с тем, что WebView пытается получить доступ к внешнему прокси-серверу даже для интерфейса обратного просмотра. Я исправил проблему после решения, предложенного по адресу: WebView android proxy

+0

, пожалуйста, объясните, какой прокси: порт вы точно установили? –