使用自定义设置轻松构建相同的应用程序 Android Studio

Easily build same application with custom settings Android Studio

我有一个需要使用自定义包和自定义配置文件构建的应用程序。我在网上看了看,发现了 gradle flavors,但我不知道如何使用它们。

基本上我有一个应用程序包 com.example.apps.myapp。我需要使用不同的包 com.example.apps.myapp2 和自定义配置 class 构建相同的应用程序,例如 com.example.config.myapp2.Configuration

目前我的 build.gradle 上有这个:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.0.1"

    defaultConfig {
        applicationId "com.example.apps.myapp"
        minSdkVersion 15
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':api')
    compile project(':view-pager-indicator')
    compile project(':MaterialEditText')
    compile 'com.pkmmte.view:circularimageview:1.1'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'com.android.support:support-v4:21.0.3'
    compile 'com.android.support:appcompat-v7:21+'
    compile 'com.android.support:cardview-v7:21.+'
    compile 'com.facebook.android:facebook-android-sdk:3.21.1'
    compile 'com.mauriciogiordano:easydb:0.1.0'
}

创建 gradle 任务或其他内容以进行这些更改并构建应用程序有多容易? PS:我对 gradle 的了解为零。

谢谢。

在 build.gradle 中声明口味很容易。
仅来自官方文档 Gradle Plugin User Guide。 对于不同的配置,包括 buildConfigField。您可以在代码的任何部分从 BuildConfig.FieldName 中读取此字段。

productFlavors {
            flavor1 {
                applicationId "com.example.apps.myapp"
                buildConfigField "int", "CONFIG_INT", "123"
                buildConfigField "String", "CONFIG_STRING", "\"ABC\""
            }

            flavor2 {
                applicationId "com.example.apps.myapp2"
                buildConfigField "int", "CONFIG_INT", "456"
                buildConfigField "String", "CONFIG_STRING", "\"QWE\""
            }
        }

并访问字段

BuildConfig.CONFIG_INT
BuildConfig.CONFIG_STRING

不要忘记按 Synchronize 按钮(在 Save 右侧)以使用新字段重建 BuildConfig。在 gradle 的最新版本中,可以声明 Android resources Watch there.

Build Variants

切换风格

在 Android 工作室