Java 将aar上传到maven

Java 将aar上传到maven,java,maven,gradle,Java,Maven,Gradle,我正在将一些源代码集成功发布到maven存储库,但我确实需要公开我的.aar库 我在用这个 根据我的理解,这段代码会将我的资源集发送到存储库,但当我尝试发送aar时,它会说死记硬背到.aar与这段代码不符: from android.lib.build.outputs.sourceFiles 那么如何发送位于\project\lib\build\outputs\aar\my\u aar.aar的文件呢 编辑:正如lase所说,它使用凭据连接到maven,但不部署aar: mavenDeploy

我正在将一些源代码集成功发布到maven存储库,但我确实需要公开我的
.aar

我在用这个

根据我的理解,这段代码会将我的资源集发送到存储库,但当我尝试发送aar时,它会说死记硬背到
.aar
与这段代码不符:

from android.lib.build.outputs.sourceFiles
那么如何发送位于
\project\lib\build\outputs\aar\my\u aar.aar
的文件呢

编辑:正如
lase
所说,它使用凭据连接到maven,但不部署aar:

mavenDeployer {
            def credentials = [
                    userName: NEXUS_USERNAME,
                    password: NEXUS_PASSWORD
            ]
            repository(url: "test",authentication:credentials)
            pom.artifactId = 'com.liv'
            pom.version = '1.5.0'
            pom.packaging = 'aar'
            pom.groupId = 'test2'
        }
毫无疑问,这段代码没有将任何内容上载到maven存储库:

afterEvaluate { project ->


    signing {
        required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
        sign configurations.archives
    }


    task androidSourcesJar(type: Jar) {
        classifier = 'sources'
        from android.sourceSets.main.java.sourceFiles

    }

    artifacts {
        archives androidSourcesJar
    }
}
编辑:也许这个项目有特定的源代码集,所以我会发布它:

sourceSets {
    main {
        java.srcDirs = ['src/main/java']
        res.srcDirs = ['src/main/res']
        assets.srcDirs = ['assets']
    }

    liv {
        java.srcDirs = ['src/live/java']
        res.srcDirs = ['src/live/res']
        assets.srcDirs = ['src/main/assets']
        manifest.srcFile 'src/live/AndroidManifest.xml'
        jni.srcDirs = []
        jniLibs.srcDir 'src/main/libs'
    }

    live {
        java.srcDirs = ['src/live/java']
        res.srcDirs = ['src/live/res']
        assets.srcDirs = ['src/main/assets']
        manifest.srcFile 'src/live/AndroidManifest.xml'
    }
}

我正是用这种策略来做到这一点的。我应用的插件是
com.android.library
maven

android {
    ...
    uploadArchives {
        repositories {
            mavenDeployer {
                repository(url: "http://mycompany/local/repositories/releases/")
                pom.artifactId = 'projectName'
                pom.version = '1.0.0'
                pom.packaging = 'aar'
                pom.groupId = 'com.mycompany'
            }
        }
}

看到这个问题:基里尔,你确定
aar
已经创建好了吗,还是你只在本地看到了
jar
?是的,它是在\MyProject\lib\build\outputs\aarI创建的。我注意到你发布的教程中没有
应用插件:“com.android.library”
。这就是我生成
aar
-没有
jar
是使用我的方案生成的。i、 e.
gradle build uploadArchives
以及如何在此处添加授权?因为我的存储库是私有的?def凭据=[用户名:NEXUS_用户名,密码:NEXUS_密码]存储库(url:“url”,身份验证:凭据)是,我得到了我的身份验证,但我的aar不是用这段代码上传的。我得到了jar扩展不是aar,因为我想要谢谢,我已经解决了身份验证解决方案,你说的“而是它是如何构建的”是什么意思,请你在这里帮帮忙或建议去哪里看。我正在做
gradlew上传档案--stacktrace
script
android {
    ...
    uploadArchives {
        repositories {
            mavenDeployer {
                repository(url: "http://mycompany/local/repositories/releases/")
                pom.artifactId = 'projectName'
                pom.version = '1.0.0'
                pom.packaging = 'aar'
                pom.groupId = 'com.mycompany'
            }
        }
}