无法从外部访问 Flutter http / rest 服务器 Android

Flutter http / rest server not accessible from outside Android

我正在做一个项目,我需要在 Android 设备和计算机之间进行通信。为了启动这两个设备之间的连接,我想使用具有以下架构的 Rest API 机制:

我当前的 flutter 片段看起来像:

Jaguar server = Jaguar(port: 8080);
server.get("/", (context) => 'Hello');
await server.serve();

在我的 Android 设备上直接从网络浏览器访问“localhost:8080”时,我收到了“Hello”消息,但是当我尝试从我的计算机(位于同一网络),我收到超时错误(在“192.168.0.10:8080”上)。

我的 flutter(或我的设备)似乎没有将网络服务器暴露给我的网络的其余部分,但我不知道为什么..你有什么想法吗?

过了一会儿,我找到了解决办法。这是因为 API 28,Android 阻止明文流量。

要解决这个问题,我们必须像

一样覆盖android:usesCleartextTraffic="true"
<application
        ...
        android:usesCleartextTraffic="true">
...
</application>