管理多个类似项目

时间:2014-06-16 16:11:06

标签: android android-studio project

我正在使用Android Studio处理编译/构建我的EvolveSMS主题。但是,我最近开始对主题进行微小的更改,我想要一种方法将它保存在同一个项目中,但仍然可以构建标准主题。

如果不清楚,请举个例子。

我有主题A.我改变了主题A中某些东西的颜色。这是一个小改动,但我想保留A和新创建的B的版本,这样我就可以构建它们。但是,我不想为B创建一个全新的项目,因为它是一个微小的变化。

有没有这样做?

1 个答案:

答案 0 :(得分:1)

您需要名为" Graors"的Gradle功能。它们允许您在" base"。

上叠加代码和属性
android {
    ...

    defaultConfig {
        minSdkVersion 8
        versionCode 10
    }

    productFlavors {
        flavor1 {
            packageName "com.example.flavor1"
            versionCode 20
        }

        flavor2 {
            packageName "com.example.flavor2"
            minSdkVersion 14
        }
    }
}

上面的代码示例(build.gradle)会产生两种风格。

<强> flavor1

minSdkVersion 8
packageName "com.example.flavor1"
versionCode 20

android.sourceSets.flavor1
android.sourceSets.flavor1Release
android.sourceSets.flavor1Debug
android.sourceSets.androidTestFlavor1

flavor1Compile
flavor1Test

<强> flavor2

versionCode 10
packageName "com.example.flavor2"
minSdkVersion 14

等...

来源集

android.sourceSets定义了源集(他们是谁?)

android.sourceSets.main     →  src/main
android.sourceSets.flavor1  →  src/flavor1

依赖关系

让我们说一个主题依赖于图书馆......

dependencies {
    flavor1Compile "..."
}

请在此处查看官方Android Studio指南:
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors

请参阅此处官方Gradle指南: http://www.gradle.org/docs/current/userguide/nativeBinaries.html#flavors