繁体   English   中英

flutter Image.network 不适用于发布 apk

[英]flutter Image.network not working on release apk

遇到奇怪的问题。 如果我在模拟器中运行应用程序,则工作正常。 如果我通过连接 android 设备安装应用程序工作正常。 但是,如果我通过flutter build apk并安装在设备中。

网络形象不来? 为什么? 有什么问题吗? 无需提供代码。 对于显示网络图像,我使用简单的Image.network和来自谷歌图像的 url。

我已经尝试过flutter clean然后flutter build apk --release但同样的问题来了

无法通过发布 APK 工作:

Uer-MacBook-Air:AppName user$ flutter build apk --release
Initializing gradle...                                              2.0s
Resolving dependencies...                                           3.1s
Running Gradle task 'assembleRelease'...                                
Running Gradle task 'assembleRelease'... Done                      63.4s
Built build/app/outputs/apk/release/app-release.apk (8.1MB).

通过调试 APK 工作

Uer-MacBook-Air:AppName user$ flutter build apk --debug 
Initializing gradle...                                              3.5s
Resolving dependencies...                                           5.5s
Running Gradle task 'assembleDebug'...                                  
Running Gradle task 'assembleDebug'... Done                        36.2s
Built build/app/outputs/apk/debug/app-debug.apk.

有人遇到过这种类型的问题吗? 我已经通过flutter build apk安装了许多 apk 并且工作正常,现在不能在发布模式下工作? 但是当我尝试使用调试模式flutter build apk --debug它的工作正常意味着图像正在显示吗?

我必须为发布模式apk添加一些权限吗?

是的,将这些权限添加到 AndroidManifest.xml 它将起作用

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

更新:只有 INTERNET 权限就足够了

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

在调试模式下默认启用服务扩展和多个权限(在flutter中)

当您处于发布模式时,您必须手动在 androidmanifest.xml 中添加互联网权限。(就像您在本机开发中添加它一样)

导航到 android-> app-> src-> main-> AndroidManifest.xml 并将此行添加到应用程序范围之外。

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

打开你的

android/app/src/main/AndroidManifest.xml

并在</application>添加此 android 权限

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

现在,释放您的 apk,然后检查。

只是您需要授予INTERNET许可

Debug模式下我们不会遇到这个问题,因为已经有permission了。

只是去路径

android/app/src/main/AndroidManifest.xml

然后将此行粘贴到<manifest>标签中:

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

在此处输入图片说明

只需将其添加到您的AndroidManifest.xml文件中:

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

AndroidManifest.xml路径:

android/app/src/main/AndroidManifest.xml

显然,上面绿色的答案是最好的答案,但是您可以使用权限库,这也是最简单的答案,您只需跟随链接即可: https ://pub.dev/packages/permission

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM