每种口味的android不同的应用程序图标

Posted

技术标签:

【中文标题】每种口味的android不同的应用程序图标【英文标题】:android different app icon for each flavor 【发布时间】:2015-09-04 07:09:08 【问题描述】:

我想为 android 应用的每种产品风格更改应用图标。我已经为每种具有不同图标资源的风格创建了一个 res 文件夹,并且它们都按预期被替换,除了应用程序图标。

我还尝试为每种风格创建一个单独的清单文件,以便每个清单都引用同一目录中的特定图标。为每种口味重命名应用程序图标是没有用的。找到的解决方案 here 提出用以下内容替换一个清单的内容:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools">
      <application
          tools:replace="android:icon"
          android:icon="@drawable/alternative_icon" />
    </manifest>

但它也没有给出任何结果。

此外,主屏幕上显示的图标和应用程序管理器中显示的图标也不同:主屏幕具有内置风格的正确图标,应用程序管理器具有另一个图标,反之亦然。有人遇到过同样的问题吗?

【问题讨论】:

风味是什么意思? 确保在切换风格时完全卸载并重新安装应用程序。 如果口味的包名相同,则图标在构建之间可能不会改变。正如 CommonsWare 正确指出的那样,您需要卸载 我每次都通过应用程序管理器卸载应用程序。有什么“更全面”的方法吗? 风味是指 build.gradle 中的 productFlavors。 【参考方案1】:

通过在 gradle 中为每种风味使用不同的应用程序 ID 解决了该问题,提示来自 here。

【讨论】:

以上是关于每种口味的android不同的应用程序图标的主要内容,如果未能解决你的问题,请参考以下文章

如何为每种产品风格提供不同的启动器图标

Android动态更换图标

Android风味,Gradle sourceSets合并

14.模板方法模式

带有适用于 Android 的口味的 Gradle applicationId

设计模式@第16章:模板方法模式