如何在gradle 5.1上指定android组装的库文件名

如何在gradle 5.1上指定android组装的库文件名,第1张

概述当我从5.0更新到5.1时,Gradle改变了它的行为.让我们假设我们有一个带有单个模块命名库的android项目.在Gradle5.0(和以前的版本)上执行./gradlewassembleRelease或./gradlewassembleDebug生成的输出分别是library-release.aar或library-debug.aar.在我更新到Gradle5.1(我也

当我从5.0更新到5.1时,Gradle改变了它的行为.

让我们假设我们有一个带有单个模块命名库的android项目.
在Gradle 5.0(和以前的版本)上执行./gradlew assembleRelease或./gradlew assembleDeBUG生成的输出分别是library-release.aar或library-deBUG.aar.

在我更新到Gradle 5.1(我也尝试过5.1.1)后,它只为任何构建类型生成library.aar,而输出文件名中没有任何构建类型分类.

所以我的问题是:我如何强制Gradle 5.1为不同的构建类型设置正确的输出文件命名,就像以前一样?下面是我的库模块的build.gradle.kts,但我不认为它有什么问题:

import org.jetbrains.kotlin.config.KotlinCompilerVersionplugins {    ID("com.androID.library")    ID("kotlin-androID")    ID("maven-publish")}val libraryVersion = "1.5.0"androID {    compileSdkVersion(28)    defaultConfig {        minSdkVersion(16)        targetSdkVersion(28)        versionCode = 1        versionname = libraryVersion    }    lintoptions {        isAbortOnError = false    }    buildTypes {        getByname("release") {            isMinifyEnabled = false            proguardfiles(getDefaultProguardfile("proguard-androID.txt"), "proguard-rules.pro")        }    }}dependencIEs {    implementation(filetree(mapOf("include" to listof("*.jar"), "dir" to "libs")))    implementation(kotlin("stdlib-jdk7", KotlinCompilerVersion.VERSION))}

更新:

如果我将以下代码添加到build.gradle.kts:

afterEvaluate {    androID.libraryVariants.forEach { libraryVariant ->        libraryVariant.outputs.forEach { output ->            println(output.outputfile.name)        }    }}

它将打印:

library-deBUG.aarlibrary-release.aar

现在它开始看起来像gradle 5.1中的一个BUG

解决方法:

正如我们在https://github.com/gradle/gradle/issues/8328中看到的那样,这是一个在AndroID Gradle Plugin 3.4中修复的错误.

总结

以上是内存溢出为你收集整理的如何在gradle 5.1上指定android组装的库文件名全部内容,希望文章能够帮你解决如何在gradle 5.1上指定android组装的库文件名所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存