android - 如何以干净的方式制作相同的Android应用程序但具有不同的图标和颜色

标签 android architecture duplicates project

我有这个需求。

我开发了一个应用程序,我想复制它。我可以复制并粘贴该项目,但如果我这样做 10 次可能会出现问题。问题是,如果我在第 10 个重复项中发现错误,我必须检查所有其他项目,而我不想这样做。

有一个干净的方法来解决这个问题吗?

最佳答案

您使用 Android Studio 和/或 gradle 吗?这听起来像是 productFlavors 的完美用例。除此之外,不同的产品风格可以指向不同的源目录。在这种情况下,您的应用的 build.gradle(不是您项目的顶级 build.gradle)可能如下所示:

android {
    ... other android stuff ...
    productFlavors {
        firstapp {
        ... other configuration. e.g. applicationId, minifyEnabled, etc ...
        }
        secondapp {
        ... other configuration. e.g. applicationId, minifyEnabled, etc ...
        }
    }
}

为了启用不同的图标,您需要包含 2 个额外的 src 文件夹(您的 main 目录的同级文件夹):/firstapp/secondapp 。您唯一需要添加到每个目录中的是您的图标,每个目录一种颜色。

在 Android 中,由于图标通常位于 drawable-x 目录中,因此您的目录结构将如下所示:

/src /主要的 ...所有正常的源代码... /第一应用 /资源 /drawable-xhdpi 我的图标.png /第二个应用程序 /资源 /drawable-xhdpi 我的图标.png

请注意,图标具有相同的名称。由您决定更改颜色。

最后一步是构建您的应用程序。当您想要第一个图标时,您将构建第一个应用程序(类似于 ./gradlew assembleFirstappRelease)。当您想要第二个图标时,您将构建第二个应用程序(类似于 ./gradlew assembleSecondappRelease)。

关于android - 如何以干净的方式制作相同的Android应用程序但具有不同的图标和颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28590905/

相关文章:

sql - 如何删除重复条目?

java - 为什么签名为空?

android - 如何将简单的图像制作成像GIF这样的动画图像?

PreferenceActivity 中的 Android Admob 广告

java - 我应该改用 scala 来创建具有重写规则的系统吗?

excel - 如果在 excel 中发现重复项,则提示 Msgbox 并删除

sql - SQL存储过程删除重复记录,保留一个

android - 多个 ContentProvider 可以提供相同的 URI 吗?

c# - 如何从代码覆盖率中测试或排除私有(private)无法访问的代码

java - 状态模式实现困难