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>

问题由

解决
  1. url = 10.0.2.2
  2. 添加android:usesCleartextTraffic="true" 显示应用程序标签。

Android 模拟器是一个模拟的独立设备。因此,像 127.0.0.1 这样的本地主机地址将解析为 Android 模拟器的本地主机,而不是你所在的 运行 模拟器的本地主机。

您应该改用地址

10.0.2.2

https://developer.android.com/studio/run/emulator-networking