我正在开发一款应用程序,当切换到不同的产品风味时,它应该会变得与众不同。这意味着applicationId定义如下:
flavorDimensions "type"
productFlavors {
one {
dimension "type"
applicationId "com.myapp.one"
}
two {
dimension "type"
applicationId "com.myapp.two"
}
}
在构建后将分别转换为com.myapp.one.*
或com.myapp.two.*
(并且基本包会动态更改)。
我还有一个库模块 model
(apply plugin: 'com.android.library'
),主 app
模块使用该模块。 model
模块具有相同的基本包com.myapp
和子包model
,因此看起来应该像com.myapp.X.model
,其中X
是one
或{{1 }}根据所选的构建风格。当我有一个带有基本软件包two
和相同applicationId的应用程序时,com.myapp.one
模块中就有基本软件包model
。但是,该库模块无法通过重新定义applicationId来声明产品风味,因此在该模块中构建应用程序基本包后,其名称不会更改为com.myapp.one.model
。
例如,在com.myapp.X.model
模块中,我可以将源代码或资源分离到不同的项目文件夹(从app
的单个版本到app/src/main
和app/src/one
的两个版本)并以不同的外观或逻辑进行不同的实现。我需要在我的图书馆模块中做同样的事情。
我如何才能将该产品“转发”到库模块?
谢谢!