Flutter APK 构建

Flutter APK Build

朋友们大家好!我是 Flutter 的新手,我一直在尝试通过 REST API 获取数据。在 Android Studio 上,一切正常,所以我想我的代码没有任何问题。

我为确保我的代码正常工作所做的事情: 1.) 运行 android 模拟器中的代码; 2.) 运行 使用真实设备的代码(启用 USB 调试)。

而且效果很好。

但是当我用它构建一个 apk 文件并将其安装到我的设备上时,它不再进行 API 调用(或无法调用?)。我是这样做的,当应用程序运行s initState()时,它等待数据加载。虽然数据尚不可用,但 CircularProgressIndicator() 占据了整个屏幕。

如果我通过安装的 apk 文件 运行 应用程序,它只是 CircularProgressIndicator()。意思是,没有数据被加载和显示。但是当我 运行 在 AndroidStudio 中的代码时,显示了数据..

我正在使用 http 包。我不确定我做错了什么,或者我错过了什么。

其他需要注意的事情:我没有在我的 AndroidManifest 文件中更改任何内容,只是按照官方 documentation.

在 Flutter 中构建 apk 文件的所有步骤进行操作

您是否在清单中添加了互联网权限?如果您从 Android 应用程序访问互联网,您需要在应用程序标签上添加互联网权限。

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

就像alexsanderfr说的,这确实大部分时间是丢失造成的

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

你不应该需要

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

对于 REST API。

在 Flutter 中,调试时您隐式可以访问互联网,但是在发布版本中,您需要显式声明此权限。

更新1

确保您已将 http 包添加到您的 pubspec.yaml 文件中,并且它正确地缩进了两个空格:

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2
  http: ^0.12.0+4