Android 应用无法连接本地主机
Android app failing to connect local host
正在尝试连接到本地服务器 5000 上的本地 Api 并且失败
正在通过浏览器连接到 http://127.0.0.1:5000/user/1
工作正常。
连接到外部 api 也能正常工作。
尝试通过 android 改造连接到同一地址,
不断得到
跳过了 xxx 帧!应用程序可能在其主线程上做了太多工作。
清单文件。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android_movieapp">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AndroidmovieApp">
<activity
android:name=".MovieListActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
问题由
解决
- url = 10.0.2.2
- 添加
android:usesCleartextTraffic="true"
显示应用程序标签。
Android 模拟器是一个模拟的独立设备。因此,像 127.0.0.1 这样的本地主机地址将解析为 Android 模拟器的本地主机,而不是你所在的 运行 模拟器的本地主机。
您应该改用地址
10.0.2.2
https://developer.android.com/studio/run/emulator-networking
正在尝试连接到本地服务器 5000 上的本地 Api 并且失败
正在通过浏览器连接到 http://127.0.0.1:5000/user/1 工作正常。
连接到外部 api 也能正常工作。
尝试通过 android 改造连接到同一地址, 不断得到 跳过了 xxx 帧!应用程序可能在其主线程上做了太多工作。
清单文件。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android_movieapp">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AndroidmovieApp">
<activity
android:name=".MovieListActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
问题由
解决- url = 10.0.2.2
- 添加
android:usesCleartextTraffic="true"
显示应用程序标签。
Android 模拟器是一个模拟的独立设备。因此,像 127.0.0.1 这样的本地主机地址将解析为 Android 模拟器的本地主机,而不是你所在的 运行 模拟器的本地主机。
您应该改用地址
10.0.2.2
https://developer.android.com/studio/run/emulator-networking