provider中动态配置名称
动态配置可以避免provider和其它应用使用同一个provide,Android不允许多个应用使用同一个provider。在使用libary的时候很容易出现,比如在libary中使用免侵入获取Context。
<application>
<provider
android:authorities="${applicationId}.provider"
android:name=".provider.CommonProvider"
android:exported="false"/>
</application>
定义多个资源目录
当有一套图片时候,比如emoji表情包或者皮肤资源,这时候放入res文件夹不是很恰当,可以通过配置添加多个资源。使用如下方式配置后,在res同级目录创建配置中命名当文件夹就可以了
android{
sourceSets {
main {
res.srcDirs = ['src/main/res', 'src/main/res-night']
}
}
}
指定gradle的jdk编译版本
随着java8的lambda表达式的使用,以及kotlin的lambda的使用,有些写法和库需要开启java8的编译模式才行
android{
//指定jdk版本
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}