[英]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,然后检查。
只需将其添加到您的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.