如何懒惰地依赖任务创建的AAR?

时间:2019-08-05 17:32:56

标签: android gradle android-gradle-plugin

我正在构建一个库,我希望我的示例应用程序直接从我的库的发行版本中使用AAR。这使我们能够测试示例应用程序中库模块的保护。

:my-libary
:sample-app

:sample-app的{​​{1}}中:

build.gradle

问题在于,repositories { flatDir { "../my-libary/build/outputs/aar" } } dependencies { // we've added a flavor named "binary" to support this binaryImplementation(name: "my-libary-release", ext: 'aar') } 文件在运行my-libary-release.aar之前不存在。

以下hacky解决方法有效,但在:my-library:assembleRelease时失败。

android.enableJetifier=true

我猜想tasks.whenTaskAdded { task -> def taskName = task.name.toLowerCase() if (taskName.toLowerCase().contains("binary")) { // Prepare libs as binaries task.dependsOn ":my-library:assembleRelease" } } 会导致示例应用程序的依赖关系在构建android.enableJetifier=true之前过早解决,从而导致构建失败。这是失败的地方:

.aar

是否有更好的方法直接依赖于从gradle任务创建的动态生成的AAR文件作为依赖项?

0 个答案:

没有答案
相关问题