Android Studio-建筑库aar文件未在输出中添加flavor或buildType

问题描述

我正在为我的库模块运行汇编程序,从日志中看到它应该在myLib-release.aar文件夹内生成两个文件myLib-debug.aarmyLib/build/outputs/

但是,我总是在那里只找到一个myLib.aar的库,对于assembleassembleDbug都运行assembleRelease都没关系。

为什么会这样?

解决方法

根据本次讨论,它是gradle中的一个错误(或计划中的功能),直到现在仍然相同。

https://github.com/gradle/gradle/issues/8328

解决方法可以是实现此目的:

// in library/library.gradle
afterEvaluate {
    def debugFile = file("$buildDir/outputs/aar/library.aar")
    tasks.named("assembleDebug").configure {
        doLast {
            debugFile.renameTo("$buildDir/outputs/aar/library-debug.aar")
        }
    }
    tasks.named("assembleRelease").configure {
        doLast {
            debugFile.renameTo("$buildDir/outputs/aar/library-release.aar")
        }
    }
}

然后您可以根据需要实施复制任务。