Flutter 应用程序发布构建在调用 getApplicationDocumentsDirectory() 时挂起;
Flutter app release build hangs on call to getApplicationDocumentsDirectory();
我已经创建了我的第一个 Flutter 移动应用程序,并在 2 台笔记本电脑上的模拟器和我的 Galaxy S7 调试模式下成功测试了它(模拟器和 phone 在相同的 Android 版本上) .所有发布尝试都可以正常构建并且在我的 S7 上安装没有问题。但是,当在 S7 上打开应用程序以进行发布构建时,我的初始化代码挂在以下调用上
目录 docDir = await getApplicationDocumentsDirectory();
我的理解是,这是返回应用程序的内部文档存储,因此我假设它不需要任何特殊权限。那是对的吗?但是,作为测试,我将这些行添加到我的清单中
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
然后,在安装该应用程序之后(但在启动之前),我转到 phone 设置并为该应用程序打开存储权限。但是,启动它仍然会产生相同的结果。
我也运行 Flutter 干净了,结果还是一样。
pubsec 条目 path_provider: ^1.6.27
在与 flutter 和 flutter file_picker 插件团队交流后,发现这是一个 flutter/gradle/androd 构建问题。解决方案是here
我已经创建了我的第一个 Flutter 移动应用程序,并在 2 台笔记本电脑上的模拟器和我的 Galaxy S7 调试模式下成功测试了它(模拟器和 phone 在相同的 Android 版本上) .所有发布尝试都可以正常构建并且在我的 S7 上安装没有问题。但是,当在 S7 上打开应用程序以进行发布构建时,我的初始化代码挂在以下调用上
目录 docDir = await getApplicationDocumentsDirectory();
我的理解是,这是返回应用程序的内部文档存储,因此我假设它不需要任何特殊权限。那是对的吗?但是,作为测试,我将这些行添加到我的清单中
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
然后,在安装该应用程序之后(但在启动之前),我转到 phone 设置并为该应用程序打开存储权限。但是,启动它仍然会产生相同的结果。
我也运行 Flutter 干净了,结果还是一样。
pubsec 条目 path_provider: ^1.6.27
在与 flutter 和 flutter file_picker 插件团队交流后,发现这是一个 flutter/gradle/androd 构建问题。解决方案是here