首先什麼是Gradle?Gradle是一個基於Apache Ant和Apache Maven概念的項目自動化建構工具。它使用一種基於Groovy的特定領域語言(DSL)來聲明項目設置,拋棄了基於XML的各類繁瑣配置。android
Gradle的安裝我就不說了(AS自帶的),讓咱們看看建立android項目後的build.gradle服務器
apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.linc.arrowfall" minSdkVersion 17 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' }
一、爲BuildConfig添加屬性網絡
在項目的開發中,服務器通常都分了開發和正式環境(有的還有測試環境),Base_Url就須要動態去獲取,爲了一勞永逸,咱們能夠在buildTypes 中的debug和release中添加都一個app
buildConfigField "String", "BASE_URL", '"網絡請求地址"'
這樣咱們就能夠在代碼中經過 BuildConfig.BASE_URL來獲取網絡請求地址工具
二、多渠道測試
app正式上線後咱們有時候需求統計渠道下載量,這時候咱們則須要配置不一樣的manifestPlaceholders以便咱們來區分是哪一個渠道的gradle
productFlavors { yingyongbao{} xiaomi{} }
這樣也能夠輕鬆的搞定ui
三、根據環境修改applicationId、versionNamedebug
這個跟第一種狀況相似,可是Gradle已經爲咱們提供了方法code
debug { versionNameSuffix '.debug' applicationIdSuffix '.debug' } release { versionNameSuffix '.release ' applicationIdSuffix '.release ' }
暫時就這麼多,今天寫得有點慌,請見諒