在一些項目中會分拆app 和 lib , 這時候引用support的時候,一旦更改版本會出現須要同步更改兩個地方的問題.這種狀況,能夠經過配置gradle.properties實現替換.java
在項目編譯過程當中,gradle.properties配置的值會被編譯解析,其做爲配置文件使用是頗有必要的.android
在項目根目錄的gradle.properties文件配置:app
# Project-wide Gradle settings. #添加ndk支持(按需添加) android.useDeprecatedNdk=true # 應用版本名稱 VERSION_NAME=1.0.0 # 應用版本號 VERSION_CODE=100 # 支持庫版本 SUPPORT_LIBRARY=24.2.1 # MIN_SDK_VERSION ANDROID_BUILD_MIN_SDK_VERSION=14 # TARGET_SDK_VERSION ANDROID_BUILD_TARGET_SDK_VERSION=24 # BUILD_SDK_VERSION ANDROID_BUILD_SDK_VERSION=24 # BUILD_TOOLS_VERSION ANDROID_BUILD_TOOLS_VERSION=24.0.3
這時候配置app和lib的build.gradle能夠這樣寫:ide
android { compileSdkVersion project.ANDROID_BUILD_SDK_VERSION as int buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { applicationId project.APPLICATION_ID // lib項目不須要配置這一項 versionCode project.VERSION_CODE as int versionName project.VERSION_NAME minSdkVersion project.ANDROID_BUILD_MIN_SDK_VERSION as int targetSdkVersion project.ANDROID_BUILD_TARGET_SDK_VERSION as int } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') //這裏注意是雙引號 compile "com.android.support:appcompat-v7:${SUPPORT_LIBRARY}" compile "com.android.support:design:${SUPPORT_LIBRARY}" compile "com.android.support:recyclerview-v7:${SUPPORT_LIBRARY}" compile "com.android.support:support-annotations:${SUPPORT_LIBRARY}" compile "com.android.support:cardview-v7:${SUPPORT_LIBRARY}" compile "com.android.support:support-v4:${SUPPORT_LIBRARY}" }
這樣配置後,當你須要升級你的編譯版本,版本號,支持庫等的時候,僅須要修改項目根目錄的gradle.properties文件便可,是否是又方便了一點點?gradle
想明白了原理,那麼不單單是這種狀況能夠使用,不少地方能夠這樣用的哦...ui