隨著產(chǎn)品渠道的鋪開亿鲜,往往一套代碼需要支持多個產(chǎn)品形態(tài),這就需要抽象出主要代碼到一個Library加酵,然后基于Library擴展幾個App Module.
相信每個module的build.gradle都會有這個代碼:
android {
compileSdkVersion 22
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 10
targetSdkVersion 22
versionCode 34
versionName "v2.6.1"
}
}
當升級sdk萌衬、build tool婚苹、target sdk等,幾個module都要更改醇疼,非常的麻煩硕并。最重要的是法焰,很容易忘記,最終導(dǎo)致app module之間的差異不統(tǒng)一倔毙,也不可控.
強大的gradle插件在1.1.0就支持全局變量設(shè)定埃仪,一舉解決了這個問題.
1、先在project的根目錄下的build.gradle定義ext全局變量:
ext {
compileSdkVersion = 22
buildToolsVersion = "23.0.1"
minSdkVersion = 10
targetSdkVersion = 22
versionCode = 34
versionName = "v2.6.1"
}
2陕赃、在各module的build.gradle中引用如下:
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
applicationId "com.xxx.xxx"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
}
}
這樣每次修改project級別的build.gradle即可實現(xiàn)全局統(tǒng)一配置.
至此卵蛉,文章結(jié)束,希望此文能幫助到你么库,如果對此文有不同見解毙玻,歡迎直接評論!