Gradle 編譯交互小技巧
今天偶然在網上看到這樣的小技巧,不過其實按照中Groovy的介紹,這個也是理所當然的,不過這個例子能夠打開腦洞,其實啥都可以做。
首先工程已經在個人開源中:Gradle_multi_apks/monkeyApplication at master · monkeytest15/Gradle_multi_apks · GitHub
如果看到之前的Gradle文章的話其實可以了解到groovy是個什麼語言,其次之前其實也都看到gradle的編譯是運行之後可以直接產出應用的,這次我們來看下交互的模式。
這個例子是為了在使用gradle編譯的時候能夠進行簽名的定製化,我們需要在app的目錄下,注意不是root project。在app的目錄下的build.gradle做如下編寫:
apply plugin: com.android.applicationnnandroid {n compileSdkVersion 21n buildToolsVersion "20.0.0"nnnn defaultConfig {n applicationId "com.example.monkey.myapplication"n minSdkVersion 10n targetSdkVersion 21n versionCode 1n versionName "1.0"n }n buildTypes {n release {n minifyEnabled falsen proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pron }n }n //這個是解決lint報錯的代碼n lintOptions {n abortOnError falsen }n signingConfigs {n myConfigs {n storeFile file( System.console().readLine("n$ Enter keystore path: "))n storePassword System.console().readPassword("n$ Enter keystore password: ")n keyAlias System.console().readLine("n$ Enter key alias: ")n keyPassword System.console().readPassword("n$ Enter key password: ")n }n }n productFlavors {n qqqq {n applicationId = com.monkey.qqqn }n hhhhh {n applicationId=com.monkey.hhhn }n }nn}nnnndependencies {n compile fileTree(dir: libs, include: [*.jar])n compile com.android.support:appcompat-v7:21.0.3n}n
在這中間,關鍵代碼如下:
我們可以在編譯的時候看到出現了簽名的選擇:
到此我們腦洞可以大開啦~~
推薦閱讀: