我有一个包含外部aar文件的Android库项目。我将aar文件作为子模块添加,而不是将其添加到libs文件夹中。因此,项目结构如下所示:
LibraryModule - Submodule(build.gradle,submodule.aar)
子模块文件夹中只有两个文件,一个是submodule.aar,另一个是build.gradle文件,如下所示:
子模块gradle文件:
使用上述脚本,我能够成功地将我的库发布到Artifactory,并且能够包含Android依赖项,如material和fragment等,就像POM文件中所显示的那样。但是子模块中的aar文件没有被发布。我应该如何在Artifactory上打包aar文件与我的库一起?
LibraryModule - Submodule(build.gradle,submodule.aar)
子模块文件夹中只有两个文件,一个是submodule.aar,另一个是build.gradle文件,如下所示:
子模块gradle文件:
configurations.maybeCreate("default")
artifacts.add("default", file('submodule.aar'))
图书馆 gradle 文件:
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
api 'androidx.core:core-ktx:1.10.1'
api 'androidx.fragment:fragment-ktx:1.6.0'
api platform('org.jetbrains.kotlin:kotlin-bom:1.8.0')
api 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
api 'com.google.android.material:material:1.11.0-alpha01'
api project(':librarymodule:submodule')
}
publishing {
publications {
release(MavenPublication) {
from components.findByName('release')
groupId = 'com.groupId '
artifactId = 'artifactId '
version = '0.0.4'
artifact("$buildDir/outputs/aar/library-release.aar")
pom.withXml {
// for dependencies and exclusions
def dependenciesNode = asNode().appendNode('dependencies')
configurations.implementation.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
repositories {
maven {
url = uri("https://testeandroid.jfrog.io/artifactory/test/")
credentials {
// Use properties or environment variables for secure credential storage
username = "test"
password = "sadfsadfafsa"
}
}
}
}
使用上述脚本,我能够成功地将我的库发布到Artifactory,并且能够包含Android依赖项,如material和fragment等,就像POM文件中所显示的那样。但是子模块中的aar文件没有被发布。我应该如何在Artifactory上打包aar文件与我的库一起?