Flutter 发布的应用程序在安装后无法在设备上运行

MrL*_*atg 5 permissions release dart flutter flutter-dependencies

当我调试应用程序时,一切正常,但在我执行这些命令后:

flutter clean
flutter build apk
flutter install
Run Code Online (Sandbox Code Playgroud)

已安装的应用程序无法正常工作(未从 API 加载数据)。有任何想法吗?

应用程序截图

应用程序屏幕

pubspec.yaml:

name: test_app
description: A new Flutter project.
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

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

dev_dependencies:
  flutter_test:
    sdk: flutter
flutter:
  uses-material-design: true

Run Code Online (Sandbox Code Playgroud)

dan*_*ata 12

由于这是一个可能涉及其他开发人员的问题,并且该问题值得回答,因此我决定将其发布为答案而不是评论。

当您创建一个新的 Flutter 项目时,框架不会为 iOS添加任何权限AndroidManifest.xml或任何配置Info.plist。这必须由开发人员手动完成。

此外,还有一些 flutter 包负责运行时权限,但这些权限需要用户输入(授予权限或拒绝权限)。运行时权限是敏感权限,但互联网访问权限不在此类别中,因此无需请求用户反馈。

更令人困惑的是,flutter 框架可以在调试模式下或在模拟器上执行 API 请求,而无需AndroidManifest.xml将有关缺少 flutter 团队许可的Internet 许可添加到(也许将来我们会收到错误/警告),直到那时,不要忘记将它添加到您的AndroidManifest.xml文件中。

  • 为了方便复制/粘贴 `&lt;uses-permission android:name="android.permission.INTERNET"/&gt;` (5认同)