android - 无法获取未知属性 'bundleReleaseAar' Maven发布

标签 android maven gradle bintray maven-publish

我正在尝试将库发布到Bintray,而尝试上载Aar时遇到问题。我想使用bundleReleaseAar命令,但不幸的是它对我不起作用,我收到错误Could not get unknown property 'bundleReleaseAar'。我已经研究了这个问题,并且在四月份左右看到了很多答案,说解决方案是将您的 call 包装在project.afterEvaluate中,但这对我不起作用。
这是我的代码:

bintray {
    user = 'dev'
    key = 'asdf'
    publications = ['MyPublication']

    override = true
    publish = true

    pkg {
        repo = 'name of repo'
        name = 'name of package'
        userOrg = 'org'
        licenses = ['Apache-2.0']
        vcsUrl = 'https//:git.url'
        version {
            name = '0.0.1'
            released = new Date()
            vcsTag = '0.0.1'
        }
    }
}

def pomConfig = {
    licenses {
        license {
            name "The Apache Software License, Version 2.0"
            url "http://www.apache.org/licenses/LICENSE-2.0.txt"
            distribution "repo"
        }
    }
    developers {
        developer {
            id "dev"
            name "dev"
        }
    }

    scm {
        url 'https//:git.url'
    }
}

/***************************************/
/*** THIS IS THE RELEVANT CODE BLOCK ***/
/***************************************/
project.afterEvaluate {
    publishing {
        publications {
            MyPublication(MavenPublication) {
                artifactId 'Artificat Id'
                groupId 'com.group'
                version '0.0.1'

                /****************************/
                /*** WHY DOES THIS CRASH? ***/
                /****************************/
                artifact bundleReleaseAar

                pom.withXml {
                    def dependenciesNode = asNode().getAt('dependencies')[0] ?: asNode().appendNode('dependencies')

                    configurations.implementation.allDependencies.each {

                        if (it.name != 'unspecified') {
                            def dependencyNode = dependenciesNode.appendNode('dependency')
                            dependencyNode.appendNode('groupId', it.group)
                            dependencyNode.appendNode('artifactId', it.name)
                            dependencyNode.appendNode('version', it.version)
                            dependencyNode.children().last() + pomConfig
                        }
                    }
                }
            }
        }
    }
}

最佳答案

为了使artifact bundleReleaseAar工作,必须按照in the documentation所示,将bundleReleaseAar设置为:

  • 一个PublishArtifact
  • AbstractArchiveTask
  • 可以解析为File的任何内容
  • 具有特殊条目的Map

  • 因此,您需要弄清楚bundleReleaseAar应该是什么,然后从那里获取它。
    假设这是一项任务,您可以尝试:artifact tasks.bundleReleaseAar

    关于android - 无法获取未知属性 'bundleReleaseAar' Maven发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58613955/

    相关文章:

    android - fragment 标记中未解析的类 'HeadlineFragment'

    java - 使用jdbc将android应用程序连接到mysql时捕获异常

    gradle - Sonarqube用于gradle依赖的自定义规则

    java - 如何使用 Arquillian 的 ShrinkWrap 将 Gradle testCompile 依赖项添加到 WebArchive?

    gradle - Gradle下载pom.xml,而不下载Cucumber的.jar文件

    android - 我如何在 Android 的 Firebase 数据库中存储用户的 ArrayList?

    jira-rest-java-client-0.2-m1.jar 的 Maven 依赖项

    Spring 启动 : can't create war with maven: Unable to find main class

    java.lang.LinkageError : loader constraint violation:previously initiated loading for a different type with name "javax/mail/Session" 错误

    android - 使用空对象引用的 Transformations.map 和 MediatorLiveData 崩溃应用程序