Flutter 应用程序发布构建挂起调用 getApplicationDocumentsDirectory();

时间:2021-01-21 08:57:39

标签: flutter storage android-permissions

我已经创建了我的第一个 Flutter 移动应用程序,并在 2 台笔记本电脑上的模拟器和调试模式下的 Galaxy S7 上成功测试了它(模拟器和手机使用相同的 Android 版本)。所有的发布尝试都可以很好地构建并且在我的 S7 上安装没有问题。但是,在 S7 上打开应用程序进行发布构建时,我的初始化代码挂在以下调用上

目录 docDir = await getApplicationDocumentsDirectory();

我的理解是,这是返回应用程序的内部文档存储,因此我假设它不需要任何特殊权限。那是对的吗?但是,作为测试,我将这些行添加到我的清单中

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

然后,在安装应用程序后(但在启动之前),我进入了手机设置并打开了此应用程序的存储权限。但是,启动它仍然会产生相同的结果。

我还清理了 Flutter,结果还是一样。

pubsec 入口 path_provider: ^1.6.27

1 个答案:

答案 0 :(得分:0)

在与 flutter 和 flutter file_picker 插件团队反复交流后,发现这是一个 flutter/gradle/androd 构建问题。解决方案是here