詳細(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);