Gradle 编译交互小技巧

今天偶然在网上看到这样的小技巧,不过其实按照中Groovy的介绍,这个也是理所当然的,不过这个例子能够打开脑洞,其实啥都可以做。

首先工程已经在个人开源中:https://github.com/monkeytest15/Gradle_multi_apks/tree/master/monkeyApplication

如果看到之前的Gradle文章的话其实可以了解到groovy是个什么语言,其次之前其实也都看到gradle的编译是运行之后可以直接产出应用的,这次我们来看下交互的模式。

这个例子是为了在使用gradle编译的时候能够进行签名的定制化,我们需要在app的目录下,注意不是root project。在app的目录下的build.gradle做如下编写:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "20.0.0"



    defaultConfig {
        applicationId "com.example.monkey.myapplication"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    //这个是解决lint报错的代码
    lintOptions {
        abortOnError false
    }
    signingConfigs {
        myConfigs {
            storeFile     file( System.console().readLine("\n\$ Enter keystore path: "))
            storePassword       System.console().readPassword("\n\$ Enter keystore password: ")
            keyAlias            System.console().readLine("\n\$ Enter key alias: ")
            keyPassword         System.console().readPassword("\n\$ Enter key password: ")
        }
    }
    productFlavors {
        qqqq {
            applicationId = 'com.monkey.qqq'
        }
        hhhhh {
            applicationId='com.monkey.hhh'
        }
    }

}



dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

在这中间,关键代码如下:

gradle1

我们可以在编译的时候看到出现了签名的选择:


gradle2

到此我们脑洞可以大开啦~~

你可能感兴趣的:(Gradle 编译交互小技巧)