图书馆出版
默认情况下,库仅发布其发布变体。这个变种
将被所有引用该库的项目使用,无论哪个
他们自己构建的变体。这是一个暂时的限制,因为
我们正在努力消除 Gradle 限制。
您可以使用
控制发布哪个变体
android { defaultPublishConfig "debug" }
请注意,此发布配置名称引用了完整的
变体名称。发布和调试只适用于没有
口味。如果您想更改默认发布的变体,同时
使用风味,你会写:
android {defaultPublishConfig "flavor1Debug" }
还可以发布库的所有变体。我们是
计划在使用正常的项目到项目时允许这样做
依赖项(如上所示),但由于现在这是不可能的
Gradle 中的限制(我们也在努力修复这些限制)。
默认情况下不启用所有变体的发布。要启用它们:
android {publishNonDefault true }
重要的是要意识到发布多个变体意味着
发布多个 aar 文件,而不是发布一个包含
多种变体。每个 aar 包装都包含一个变体。
发布变体意味着将此 aar 用作输出
Gradle 项目的工件。然后可以在以下情况下使用
发布到 Maven 存储库,或者当另一个项目创建一个
对库项目的依赖。
Gradle 有一个“默认”工件的概念。这是一个
写作时使用:
compile project(':libraries:lib2')
要创建对另一个已发布工件的依赖项,您需要
指定使用哪一个:
dependencies {
flavor1Compile project(path: ':lib1', configuration: 'flavor1Release')
flavor2Compile project(path: ':lib1', configuration: 'flavor2Release')
}
重要提示:请注意,发布的配置是完整的变体,
包括构建类型,并且需要这样引用。
重要提示:启用非默认发布时,Maven
发布插件将这些额外的变体作为额外的发布
包(带分类器)。这意味着这不是真的
与发布到 Maven 存储库兼容。你应该要么
将单个变体发布到存储库或启用所有配置
发布项目间依赖关系。