簡體   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