Java 将aar上传到maven
我正在将一些源代码集成功发布到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
.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'
}
}
}