问题描述
我正在为我的库模块运行汇编程序,从日志中看到它应该在myLib-release.aar
文件夹内生成两个文件myLib-debug.aar
和myLib/build/outputs/
。
但是,我总是在那里只找到一个myLib.aar
的库,对于assemble
或assembleDbug
都运行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")
}
}
}
然后您可以根据需要实施复制任务。