compile('me.drakeet.multitype:multitype:2.3.0', {
exclude group: 'com.android.support'
})
compile 'com.android.support:recyclerview-v7:你选择的版本'
exclude group ‘ ’ 可以去除库里你不想要的类库
def releaseTime() {
return new Date().format("yyyyMMdd", TimeZone.getTimeZone("GMT+8"))
}
可以定义一个行数,返回日期。
productFlavors {
dev {
buildConfigField "XXX", "XXX", "XXXX"
buildConfigField "XXX", "XXX", "XXX"
manifestPlaceholders = [
XXXX: "XXXX"
]
}
prod {
buildConfigField "XXX", "XXX", "XXX"
buildConfigField "XXX", "XXX", "XXX"
manifestPlaceholders = [
XXX: "XXXX"
]
}
}
productFlavors 里面可以定义 :开发时候的常量和生产时候的常量,可以避免手动修改出现的错误。
dev 域内为定义开发时候的常量,prod 域内为定义正式发布产品时候常量
buildConfigField 第一个XXX为数据类型,第二个XXX为数据名称,第三个为数据的
值。
manifestPlaceholders 的作用是解决开发和发布正式环境,manifest清单文件中的key值不一致问题。
怎么在代码中获取这个值呢?
直接 BuildConfig.XXX XXX为你设定的值名字,即可获取这个常量值了。
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode appVerCode
versionName appVerName + "-${releaseTime()}"
multiDexEnabled true
buildConfigField "XXX", "XXX", "XXX"
}
signingConfigs {
myConfig {
storeFile file("XXX.jks")
storePassword "XXXX"
keyAlias "XXXX"
keyPassword "XXX"
}
}
defaultConfig 里面:
versionName 可配置项目编译成apk生成的名字
multiDexEnable 是否支持多dex
signingConfigs 里面:
storeFile 可以设置jks路径
storePassword 可以储存jks密码
keyAlias 证书别名
keyPassword 证书别名密码