【问题标题】:png file will be broken by release build of flutterpng 文件将被flutter的发布版本破坏
【发布时间】:2020-12-04 03:25:33
【问题描述】:

我使用 flutter local notification package 为 Andriod 制作了一个颤振应用程序。

根据pakcage的示例,我将png文件“app_icon.png”放入app-root/android/app/src/main/res/drawable。

通过调试构建可以,应用程序将在 Android 的通知中显示该图标。 但在发布构建时,应用程序显示一个空白图像。

我尝试“解压缩” 2 个 apk 文件,发布构建和调试一个并检查该 app_icon 文件。 我在 releae apk 中发现了一个损坏的 png 文件。 (调试apk的文件是collect。)

为什么调试构建会破坏 png 文件??

我构建的程序:

  • 颤振构建应用程序包
  • 颤振构建 apk

捕获损坏/收集 png 文件:

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    如果您在调试中看到该图标并且在发布时它丢失了,请在 Androiod Studio 中打开 build/app/outputs/apk/app-release.apk 并查看它是否在其中并且具有正确的大小和颜色。

    如果它丢失或“空白”,您需要将其添加到 res/raw/keep.xml(下面的示例,更新到您的 drawable)

    <?xml version="1.0" encoding="utf-8"?>
    <!-- since we only reference this in flutter code, it would get stripped 
     out otherwise -->
    <resources xmlns:tools="http://schemas.android.com/tools"
       tools:keep="@drawable/ic_notification*" />
    

    更多信息在这里 - https://developer.android.com/studio/build/shrink-code#keep-resources

    【讨论】:

      【解决方案2】:

      png 不适用于通知图标,因为从您发布的照片​​中可以看出,Android 会染色通知图标中图像所占用的所有空间。

      解决方案:使用 XML drawable。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-05
        • 2013-07-03
        • 1970-01-01
        • 2010-10-05
        • 2021-12-01
        • 2014-09-06
        相关资源
        最近更新 更多