Finally I found out how to do this, I will explain it here for others facing same problem:
The key part is to set publishNonDefault to true in library build.gradle, Then you must define dependencies as suggested by user guide.
The whole project would be like this:
Library build.gradle:
apply plugin: 'com.android.library'
android {
....
publishNonDefault true
productFlavors {
market1 {}
market2 {}
}
}
project build.gradle:
apply plugin: 'com.android.application'
android {
....
productFlavors {
market1 {}
market2 {}
}
}
dependencies {
....
market1Compile project(path: ':lib', configuration: 'market1Release')
market2Compile project(path: ':lib', configuration: 'market2Release')
}
Now you can select the app flavor and Build Variants panel and the library will be selected accordingly and all build and run will be done based on the selected flavor.
If you have multiple app module based on the library Android Studio will complain about Variant selection conflict, It's ok, just ignore it.

其他参考
https://stackoverflow.com/questions/24307596/how-can-i-add-flavors-in-a-module-with-android-studio
本文详细介绍了如何在Android项目中设置多渠道打包的问题。关键在于在library的build.gradle文件中将publishNonDefault设为true,并按用户指南定义依赖项。通过这种方式可以针对不同的市场配置不同的应用风味,实现灵活的多渠道构建。
2440

被折叠的 条评论
为什么被折叠?



