可以获得具有产品风味的 .aar

It is possible to get a .aar with a Product flavor

我在工作中做一个大项目,我3个月前被继承了。目前项目结构是这样的:

另外,有时我会为一个使用库但没有应用程序包装器的客户构建 .aar 引擎。

我的大问题:这个项目的最后一个 developepr 不太了解 gradle 和 android 结构,在 Engine 和 App/build script / extern lib 中添加了两次奇怪的 res 添加了两次...

所以,在我开发新的主要版本之前,我想重构构建系统并简化它!在最好的情况下,我想删除 lib 项目,将引擎代码添加到应用程序,因为只有 1 个项目应用程序并使用强大的风格来管理特定部分。

如果我有这样的口味:

可以使用 flavor "lib" 来获得 .aar ?

如果您有其他解决方案来简化或解决我的问题,我就结束了。提前致谢:)

你有没有描述过,一个同时输出 .aar 和 .apk 的应用程序模块是不可能的 afaik,你的模块必须是一个库或一个应用程序,而不是两者。 (即在您的 build.gradle 中:apply plugin: 'com.android.application''com.android.library')。

我的猜测是 (Android studio 1.5.1) :

  • 单个 Android Studio 项目,
  • 两个模块,一个库模块和一个应用程序模块(文件 -> 新建... -> 新建模块... -> 一个 "Android Library" 和一个 "Phone or tablet module")
  • 在应用模块中,您品牌的 2 种风格。
  • 将库模块作为依赖项集成到您的应用程序模块中(在您的应用程序 build.graddle 依赖项部分:compile project(path : ':yourlibrarymodule')

您的资源可以存储在您的库中(可在您的库和您的应用程序中使用而无需重复),在您的应用程序中以主要风格(可在您的 2 种风格中使用而无需重复)或在您的两种风格中存储。

因此,您可以通过构建库模块来生成 .aar,通过构建应用程序模块来生成两个 .apk