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

Flutter released app not working on the device, when installed

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

flutter clean
flutter build apk
flutter install

已安装的应用无法正常工作(未从 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

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

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

此外,还有一些 flutter 包负责 运行时权限 ,但这些权限需要用户输入(授予权限或拒绝权限)。运行时权限属于敏感权限,但上网权限不属于此类,因此无需征求用户反馈。

更令人困惑的是,flutter 框架可以在调试模式或模拟器上执行 API 请求,而无需将 Internet 权限添加到 AndroidManifest.xml(也许将来我们会得到一个 error/warning) 关于缺少 flutter 团队的许可,在此之前,不要忘记将其添加到您的 AndroidManifest.xml 文件中。

以下步骤适合我

  1. 在终端中检查你的 flutter 频道

运行 flutter channel

  1. 如果您的频道在 Dev

Flutter channels:
master
* dev
beta
stable

  1. 将您的频道更改为 stable
    运行flutter channel stable

  2. 会要求flutter升级
    运行flutter upgrade

  3. 你的最终输出将是

Flutter channels:
master
dev
beta
* stable

  1. 瞧!!!