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

时间:2015-02-06 22:04:05

标签: android gradle

我有一个需要使用自定义程序包和自定义配置文件构建的应用程序。我看了一下互联网,发现了gradle flavors,但我无法弄清楚如何使用它们。

基本上我有一个包含com.example.apps.myapp的应用。我需要使用不同的包com.example.apps.myapp2和自定义配置类(如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一无所知。

谢谢。

1 个答案:

答案 0 :(得分:1)

在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

请勿忘记按同步按钮(从“保存”右侧)以使用新字段重建BuildConfig。在最新版本的gradle中,可以声明 Android资源 Watch there

构建变体

切换flavoirs Android Studio中的

Build Variants