Android Studio 模拟器无法在 Linux 中的代理服务器后面连接到 Internet

标签 android linux proxy android-emulator

我无法通过代理将 Android Studio 模拟器连接到互联网。

我在android Manifest.xml 中启用了权限

 <uses-permission android:name="android.permission.INTERNET" />

而且该应用程序在 USB Debug模式下运行良好。 这是我在模拟器上运行应用程序时遇到的错误。 以下是我的 Logcat。

D/makeGitHubSearchQuery: Inside Function
D/makeGitHubSearchQuery: HTTP
D/makeGitHubSearchQuery: https://api.github.com/search/repositories?q=HTTP&sort=stars
D/OnOptionsItemSelected: action_search
W/System.err: java.net.UnknownHostException: Unable to resolve host "api.github.com": No address associated with hostname
W/System.err:     at java.net.InetAddress.lookupHostByName(InetAddress.java:470)
W/System.err:     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
W/System.err:     at java.net.InetAddress.getAllByName(InetAddress.java:215)
W/System.err:     at com.android.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
W/System.err:     at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:188)
W/System.err:     at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:157)
W/System.err:     at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:100)
W/System.err:     at com.android.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:357)
W/System.err:     at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:340)
W/System.err:     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
W/System.err:     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:433)
W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:384)
W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:231)
W/System.err:     at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)
W/System.err:     at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java)
W/System.err:     at com.example.android.datafrominternet.utilities.NetworkUtils.getResponseFromHttpUrl(NetworkUtils.java:76)
W/System.err:     at com.example.android.datafrominternet.MainActivity$GithubQueryTask.doInBackground(MainActivity.java:77)
W/System.err:     at com.example.android.datafrominternet.MainActivity$GithubQueryTask.doInBackground(MainActivity.java:71)
W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:295)
W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
W/System.err:     at java.lang.Thread.run(Thread.java:818)
W/System.err: Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
W/System.err:     at libcore.io.Posix.android_getaddrinfo(Native Method)
W/System.err:     at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:55)
W/System.err:     at java.net.InetAddress.lookupHostByName(InetAddress.java:451)

请指导我在 Android 模拟器中设置代理设置。

最佳答案

使用此命令打开带有所需代理的模拟器。

emulator -avd [emulator_name] -http-proxy [proxy ip address]:[port]

official docs

关于Android Studio 模拟器无法在 Linux 中的代理服务器后面连接到 Internet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42220388/

相关文章:

Android - 在 XML(字符串数组)文件中搜索项目

linux - SQL "1.%"的 Bash 等价物

android - 如何从 Android 构建中删除蓝牙?

proxy - haproxy/docker 未找到启用的监听器(检查 'bind' 指令)!退出

nginx - 如何在docker和proxy中进行动态端口映射?

android - 为什么无法将我的 Android REST 客户端连接到我的 REST 服务?

android - 如何在 Android 中设置 toast 的宽度?

c++ - 即使使用正确的凭据,通过 cURL 使用 NTLM 进行代理身份验证也会返回 407

android - 如何为非 Maven 项目创建 apklib

linux - Linux Mandriva 上的 SVN - 导入项目时出错 (svn : E0000013)