Gradle for Android

詳細(xì)看http://wuxiaolong.me/2016/03/30/gradle4android1/

特此記錄之


apply plugin: ‘com.android.application’,表示該module是一個(gè)app module,應(yīng)用了com.android.application插件,如果是一個(gè)android library,那么這里寫apply plugin: ‘com.android.library’

compileSdkVersion:基于哪個(gè)SDK編譯,這里是API LEVEL

buildToolsVersion:基于哪個(gè)構(gòu)建工具版本進(jìn)行構(gòu)建的。

defaultConfig:默認(rèn)配置,如果沒有其他的配置覆蓋,就會(huì)使用這里的。

applicationId:配置包名的

versionCode:版本號(hào)

versionName:版本名稱

buildTypes是構(gòu)建類型,常用的有release和debug兩種,可以在這里面啟用混淆,啟用zipAlign以及配置簽名信息等。

dependencies:不屬于Android專有的配置了,它定義了該module需要依賴的jar,aar,jcenter庫(kù)信息。

根目錄的build.gradle ----定義在這個(gè)工程下的所有模塊的公共屬性


全局設(shè)置:

如果有很多項(xiàng)目,可以設(shè)置全局來統(tǒng)一管理版本號(hào)或依賴庫(kù),根目錄下build.gradle下:

ext {

compileSdkVersion =23

buildToolsVersion ="23.0.2"

minSdkVersion =14

targetSdkVersion =23

}

app/build.gradle

android {

compileSdkVersion rootProject.ext.compileSdkVersion

buildToolsVersion rootProject.ext.buildToolsVersion

defaultConfig {

applicationId "com.wuxiaolong.gradle4android"

minSdkVersion rootProject.ext.minSdkVersion

targetSdkVersion rootProject.ext.targetSdkVersion

versionCode 1

versionName "1.0"

}

可以在根目錄下建個(gè)config.gradle,然后只需在根目錄下build.gradle最頂部加上下面一行代碼,然后同步下,意思就是所有的子項(xiàng)目或者所有的modules都可以從這個(gè)配置文件里讀取內(nèi)容。

applyfrom:"config.gradle"

config.gradle

ext{

android= [

compileSdkVersion:23,

buildToolsVersion:"23.0.2",

minSdkVersion? ? :14,

targetSdkVersion :22,

]

dependencies = [

appcompatV7': 'com.android.support:appcompat-v7:23.2.1',

design? ? ? : 'com.android.support:design:23.2.1'

]

}

app/build.gradle

android {

compileSdkVersion rootProject.ext.android.compileSdkVersion

buildToolsVersion rootProject.ext.buildToolsVersion

defaultConfig {

applicationId"com.wuxiaolong.gradle4android"

minSdkVersion rootProject.ext.android.minSdkVersion

targetSdkVersion rootProject.ext.android.targetSdkVersion

versionCode1

versionName"1.0"

}

...

dependencies{

compilefileTree(dir:'libs',include: ['*.jar'])

testCompile'junit:junit:4.12'

compilerootProject.ext.dependencies.appcompatV7

compilerootProject.ext.dependencies.design

}


自定義BuildConfig

實(shí)際開發(fā)中服務(wù)器可能有正式環(huán)境和測(cè)試環(huán)境,gradle可以通過buildConfigField來配置。

defaultConfig{

buildConfigField'String','API_SERVER_URL','"http://wuxiaolong.me/"'

}

buildConfigField 一共有3個(gè)參數(shù),第一個(gè)是數(shù)據(jù)類型,和Java的類型是對(duì)等的;第二個(gè)參數(shù)是常量名,這里是API_SERVER_URL;第三個(gè)參數(shù)就是你要配置的值。

如何在代碼取得這個(gè)常量值:

Log.d("wxl","API_SERVER_URL="+ BuildConfig.API_SERVER_URL);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容