为什么Flutter应用安装“app-release.apk”时无法连接互联网?但在调试模式下可以正常工作

问题描述 投票:0回答:5

在调试模式下,一切看起来都很好。我从 API 获取答案和数据列表。但是创建 app-release.apk 并将其安装到我的手机上后,就不再有互联网连接了。

这是我的代码:

ScopedModelDescendant<ReportPosViewModel>(
  builder: (context, child, model) {
    return FutureBuilder<List<Invoice>>(
      future: model.invoices,
      builder: (_,
        AsyncSnapshot<List<Invoice>> snapshot) {
          switch (snapshot.connectionState) {
            case ConnectionState.none:
            case ConnectionState.active:
            case ConnectionState.waiting:
              return Center(
                child:
                  const CircularProgressIndicator());
            case ConnectionState.done:
              if (snapshot.hasData) {
                // Something todo
              }
              else if (snapshot.hasError) {
                return NoInternetConnection(
                  action: () async {
                    await model.setInvoice();
                    await getData();
                  },
                );
              }
          }
      },
    );
  },
),
flutter debugging database-connection release
5个回答
283
投票

打开位于

AndroidManifest.xml
<your_project>/android/app/src/main
文件并添加以下行:

<manifest xmlns:android="...">
  <uses-permission android:name="android.permission.INTERNET"/> <!-- Add this -->
</manifest>

这里

如果您的应用代码需要访问互联网,请添加 android.permission.INTERNET 权限。标准模板不包含此标签,但允许在开发过程中访问互联网,以实现 Flutter 工具和正在运行的应用程序之间的通信。


29
投票

如果你放了

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

AndroidManifest.xml

如果不起作用,请尝试检查设备的连接性。 Android 设备上的移动数据或 Wi-Fi。尝试使用 Google Chrome 浏览器进行 Google 搜索。

如果不起作用,请允许

8.8.8.8

在您所使用的计算机的 DNS 设置中。


23
投票

将此添加到文件 android/app/src/main/AndroidManifest.xml 的包名称之后:

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

8
投票

将这些添加到 Android Manifest 文件中。

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

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

然后运行:

flutter clean
flutter pub get
flutter run

1
投票

对于我使用 Firebase 的项目,从 firebase 控制台下载更新的

google-services.json
解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.