flutter Image.network 无法发布 apk
flutter Image.network not working on release apk
遇到奇怪的问题。如果我在模拟器中 运行 应用程序,工作正常。如果我通过连接 android 设备安装应用程序就可以正常工作。但是,如果我通过 flutter build apk
制作 apk 并安装在设备中。
网络图片不来?为什么?有什么问题吗?无需提供代码。对于显示网络图像,我使用简单的 Image.network
和来自 google 图像的 url。
我试过 flutter clean
然后 flutter build apk --release
但同样的问题来了
NOT WORKING BY 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).
WORKING BY DEBUG 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
只是需要INTERNET
的权限
在Debug
模式下我们不会遇到这个问题,因为已经有permission
了。
走正路
android/app/src/main/AndroidManifest.xml
然后将此行粘贴到 <manifest>
标签中:
<uses-permission android:name="android.permission.INTERNET"/>
遇到奇怪的问题。如果我在模拟器中 运行 应用程序,工作正常。如果我通过连接 android 设备安装应用程序就可以正常工作。但是,如果我通过 flutter build apk
制作 apk 并安装在设备中。
网络图片不来?为什么?有什么问题吗?无需提供代码。对于显示网络图像,我使用简单的 Image.network
和来自 google 图像的 url。
我试过 flutter clean
然后 flutter build apk --release
但同样的问题来了
NOT WORKING BY 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).
WORKING BY DEBUG 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
只是需要INTERNET
在Debug
模式下我们不会遇到这个问题,因为已经有permission
了。
走正路
android/app/src/main/AndroidManifest.xml
然后将此行粘贴到 <manifest>
标签中:
<uses-permission android:name="android.permission.INTERNET"/>