今天记录一下gradle里一些常用的操作
1.gradle所有版本的下载
2.统一的版本号管理
在project的build.gradle如下操作
ext {
// Sdk and tools
compileSdkVersion = 26
buildToolsVersion = "26.0.2"
minSdkVersion = 16
targetSdkVersion = 26
versionCode = 1
versionName = "1.0"
// support
supportVersion = '26.1.0'
// butterknife
butterknife = '8.8.1'
}
这里这个ext我其实蛮费解的,因为也没有深入的看过gradle的相关api什么的,不知道为什么必须是ext这个名字,我尝试换过名字就显示method不存在了,定义好的吗?有识之士可以帮我解答下,言归正传,定义好之后,在app以及各个module下可以这样使用
defaultConfig {
applicationId ...
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
}
依赖里可以这样,以butterknife为例,其他依赖同理
dependencies {
......
implementation "com.android.support:appcompat-v7:$rootProject.ext.supportVersion"
implementation "com.android.support:recyclerview-v7:$rootProject.ext.supportVersion"
......
implementation "com.jakewharton:butterknife:$rootProject.ext.butterknife"
annotationProcessor "com.jakewharton:butterknife-compiler:$rootProject.ext.butterknife"
}
3.多渠道设置
gradle有很好用的多渠道管理,你可以在里面设置测试用的appId啊,或者不同的url根地址啊等等信息,具体如下
productFlavors {
// a渠道
aqd {
#如果这里什么都不写,会默认使用default的设置
}
// 测试渠道
ceshiqd {
// 测试版AppId
applicationId "自由定义"