android– 不再能够在MavenPublication中使用bundleReleaseAar

android– 不再能够在MavenPublication中使用bundleReleaseAar,第1张

概述将Gradle升级到5.1.1后,我发现我无法将bundleReleaseAar作为工件添加到我的MavenPublication中.这是我的build.gradle的相关片段:applyplugin:'maven-publish'publishing{publications{aar(MavenPublication){groupIdlibraryGroupId

将Gradle升级到5.1.1后,我发现我无法将bundleReleaseAar作为工件添加到我的MavenPublication中.这是我的build.gradle的相关片段:

apply plugin: 'maven-publish'publishing {    publications {        aar(MavenPublication) {            groupID libraryGroupID            version libraryVersion            artifactID libraryArtifactID            artifact bundleReleaseAar            //artifact sourcesJar            //artifact packageJavadoc        }    }}

这失败了:

无法为org.gradle.API.publish.maven.internal.publication.DefaultMavenPublication类型的对象获取未知属性’bundleReleaseAar’.

但是,当我运行./gradlew任务时,我能够看到bundleReleaseAar确实存在,并且我可以很好地执行该任务.

什么阻止它现在在我的部署中用作工件?

解决方法:

简答:

您需要将publication {}块包含在project.afterEvaluate中,如下所示:

project.afterEvaluate {    publishing {        publications {            aar(MavenPublication) {                groupID libraryGroupID                version libraryVersion                artifactID libraryArtifactID                artifact bundleReleaseAar                //artifact sourcesJar                //artifact packageJavadoc            }        }    }}

答案很长:

在gradle版本4.8之前,隐式地将发布块视为在评估项目之后执行其中的所有逻辑.这只是以这种方式表现的块,为了一致性,这个行为在gradle版本4.8之后停止了. bundleReleaseAar任务似乎只有在项目评估完成后才可用,因此为了维护行为,必须将它显式地包含在project.afterEvaluate {}中.

参考:https://docs.gradle.org/current/userguide/upgrading_version_4.html#rel4.8:deferred_configuration

总结

以上是内存溢出为你收集整理的android – 不再能够在MavenPublication中使用bundleReleaseAar全部内容,希望文章能够帮你解决android – 不再能够在MavenPublication中使用bundleReleaseAar所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1096573.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存