【问题标题】:How to use sourceSets to replace/override app icon in gradle如何使用 sourceSets 替换/覆盖 gradle 中的应用程序图标
【发布时间】:2021-06-23 13:30:51
【问题描述】:

我想使用不同风格的不同图标。

我的主 sourceSets 中有一个默认图标(在 dir src/main/res/mipmap-*dpi),我尝试用 sourceSets 替换/覆盖 build.gradle 中的图标。

buildTypes {
    release {
        ...
    }
    debug {
        ...
    }
}

flavorDimensions "d1", "d2"
dimension11 {
    dimension "d1"
}

dimension21 {
    dimension "d2"
    sourceSets.debug {
        resources {
            srcDir 'config/icon/free' // my icon is in free/res/mipmap-*dpi
            exclude 'src/main/res/mipmap-*dpi' //not working, mipmap-*dpi and mipmap-*dpi-v4 are all in the final apk file.
        }
    }
}
dimension22 {
    dimension "d2"
}
dimension23 {
    dimension "d2"
}

它不起作用,mipmap-*dpimipmap-*dpi-v4 都在最终的 apk 文件中。 mipmap-*dpi-v4 由 agp 生成。
如果我将config/icon/free 中的mipmap-*dpi 重命名为mipmap-*dpi-v4,那么:

条目名称“res/mipmap-hdpi-v4/ic_launcher.png”发生冲突

如果我删除 src/main/res/mipmap-*dpi 中的文件,

AAPT:错误:找不到资源 mipmap/ic_launcher(又名 mypackage:mipmap/ic_launcher)。

那么如何替换或覆盖应用程序图标?我可以使用自定义 sourceSet 来实现吗?

任务:安装Dimension11Dimension21Debug
梯度:6.8.3
AGP:4.1.3

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    要为不同的风格使用不同的应用程序图标,您需要在src目录下创建一个以风格名称命名的目录。在该目录下添加带有应用图标的 mimap 文件夹。

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 2016-01-13
      • 2022-11-14
      • 2011-02-21
      • 2019-01-08
      • 1970-01-01
      • 2018-11-13
      • 1970-01-01
      • 2019-07-08
      相关资源
      最近更新 更多