首先什么是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 ' }
暂时就这么多,今天写得有点慌,请见谅