library 库分享不同的内容
问题:
library module 的 assets
下有图片也有一些别的数据, A
库引入 library
的时候只要图片, B
库引入 library
的时候只要数据,这个时候该怎么办呢
- 1、在
gradle 3.0
之前
library
的 build.gradle
配置风味
// 默认只发布release的,这里修改为发布多种的
publishNonDefault true
// 配置风味
productFlavors{
// 只要图片的
justPic{}
// 只要数据的
justData{}
}
// 配置路径
// 注意:这里的路径不是覆盖关系
// main下面是默认的路径'src/main/assets',在justPic下面在配置一个路径的话
// justPic的结果是合并关系,如:'src/main/assets'和'src/main/justPic'
sourceSets{
main {
assets.srcDirs = []
}
justPic {
// 只包含图片的文件夹路径
assets.srcDirs = ['src/main/pic']
}
justData {
// 只包含数据的文件夹路径
assets.srcDirs = ['src/main/data']
}
}
// 引入方式来区分你要引入哪一个
compile project(path: 'library', configuration: 'justPicDebug')
compile project(path: 'library', configuration: 'justPicRelease')
compile project(path: 'library', configuration: 'justDataDebug')
compile project(path: 'library', configuration: 'justDataRelease')
- 2、
gradle 3.0
之后
library
的 build.gradle
配置
flavorDimensions 'app'
// 配置风味
productFlavors{
// 只要图片的
justPic{
dimension 'app'
}
// 只要数据的
justData{
dimension 'app'
}
}
// 配置路径
// 注意:这里的路径不是覆盖关系
// main下面是默认的路径'src/main/assets',在justPic下面在配置一个路径的话
// justPic的结果是合并关系,如:'src/main/assets'和'src/main/justPic'
sourceSets{
main {
assets.srcDirs = []
}
justPic {
// 只包含图片的文件夹路径
assets.srcDirs = ['src/main/pic']
}
justData {
// 只包含数据的文件夹路径
assets.srcDirs = ['src/main/data']
}
}
app 的 build.gradle 配置
flavorDimensions 'app'
productFlavors {
// 配置成你想要的library风味
justPic {
dimension 'app'
}
}
// 引入方式
implementation project(':library')
debugImplementation project(':library')
releaseImplementation project(':library')