当我从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组装的库文件名所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)