用過AS的程序猿都知道build.gradle文件的作用,但我仍堅信還是有很多猿友不知道build.gradle文件中的一些代碼的意思到底是什么? 這里來說下buildTypes和productFlavors的作用,順便會說下其他一些配置。 首先,我們剛創(chuàng)建Android 項目的時候as會自動幫我們創(chuàng)建build.gradle文件,注意build.gradle文件會創(chuàng)建兩個,一個是屬于項目的,還有一個是屬于module的。這里說的module中的build.gradle文件中的一些配置。默認(rèn)創(chuàng)建的build.gradle文件中的代碼如圖:
默認(rèn)配置
dependencies
Build Variant
這里寫圖片描述
這里寫圖片描述
這里寫圖片描述
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/java']
aidl.srcDirs = ['src/main/java']
renderscript.srcDirs = ['src/main/java']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
jniLibs.srcDirs = ['libs']
}
local.java.srcDirs = ['src/local/java']
local.res.srcDirs = ['src/local/res']
us.java.srcDirs = ['src/us/java']
us.res.srcDirs = ['src/us/res']
}
這里表示local和us版本下的文件會優(yōu)先使用,最后打包的時候會跟main文件下的資源文件一起打包的,這時你通過Build Variants切換不同的版本安裝,會出現(xiàn)不同的logo,并且應(yīng)用不會沖突。 至于配置中的API_URL可以通過BuildConfig進(jìn)行訪問。 最后,打包會生成四個版本的apk文件——localdebug.apk、localrelease.apk、usdebug.apk、usrelease.apk,然后根據(jù)不同的環(huán)境使用不同的apk文件。這篇博客分享就到這里,謝謝?。?! 本文屬個人總結(jié)博客,如有錯誤,請指出,萬分感謝?。?!