【问题标题】:flutter Image.network not working on release apk颤动的 Image.network 无法在发布 apk 上运行
【发布时间】:2019-07-24 03:28:52
【问题描述】:

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

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

我尝试了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 添加一些权限吗?

【问题讨论】:

  • 不是在所有安卓版本中都可以使用吗?
  • 只有图片不工作?

标签: android dart flutter apk


【解决方案1】:

是的,将这些权限添加到 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" />

【讨论】:

  • 只有 就足够了。谢谢
  • IOS 版本会出现同样的问题吗?
【解决方案2】:

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

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

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

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

【讨论】:

  • 我也应该把权限放在 main 中吗?我已将权限放入配置文件 androidmanifest
【解决方案3】:

打开你的

android/app/src/main/AndroidManifest.xml

&lt;/application&gt; 之后 添加这个android权限

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

现在,发布您的 apk,然后检查。

【讨论】:

    【解决方案4】:

    只需要给INTERNET的权限

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

    只要去路径

    android/app/src/main/AndroidManifest.xml
    

    然后将这一行粘贴到&lt;manifest&gt;标签中:

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

    【讨论】:

      【解决方案5】:

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

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

      AndroidManifest.xml路径:

      android/app/src/main/AndroidManifest.xml
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-30
        • 2020-04-22
        • 2016-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多