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

时间:2019-05-08 17:52:02

标签: dart flutter permissions release flutter-dependencies

在调试应用程序时,一切正常,但是在执行以下命令后:

flutter clean
flutter build apk
flutter install

已安装的应用程序无法正常运行(未从API加载数据)。有什么想法吗?

Screenshot of app

Screen of app

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

2 个答案:

答案 0 :(得分:2)

由于这是一个可能会引起其他开发人员关注的问题,因此该问题值得一个答案,因此我决定将其发布为答案而不是评论。

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

此外,还有一些Flutter软件包可用于处理运行时权限,但是这些权限需要用户输入(授予或拒绝)。运行时权限是敏感权限,但Internet访问权限不在此类别中,因此无需请求用户对此提供反馈。

更令人困惑的是,flutter框架可以在调试模式下或在模拟器上执行API请求,而无需向AndroidManifest.xml添加Internet权限(可能会在将来收到错误/警告),说明缺少权限从那时起,请不要忘记将其添加到您的AndroidManifest.xml文件中。

答案 1 :(得分:0)

以下步骤对我有用

  1. 在终端机中检查抖动通道

运行flutter channel

  1. 如果您的频道位于Dev

Flutter channels:
master
* dev
beta
stable

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

  2. 它将要求振颤升级。
    运行flutter upgrade

  3. 您的最终输出将是

Flutter channels:
master
dev
beta
* stable

  1. Voila !!!