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")
        }
    }
}

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...