android - 如何使 aar 成为库中的默认工件
问题描述
我需要在公司自己的服务器上发布一个关于 Sonatype 的库。我使用了 maven-publish 插件和以下实现。
apply plugin: 'maven-publish'
task androidSourcesJar(type: Jar) {
archiveClassifier.set('sources')
if (project.plugins.findPlugin("com.android.library")) {
from android.sourceSets.main.java.srcDirs
from android.sourceSets.main.kotlin.srcDirs
}
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
groupId GROUP_ID
artifactId ARTIFACT_ID
version VERSION_NAME
from components.release
artifact androidSourcesJar
pom {
name = ARTIFACT_ID
description = DESCRIPTION
url = 'library url'
licenses {
license {
name = 'License'
url = 'license url'
}
}
developers {
developer {
id = 'dev id'
name = 'dev name'
email = 'dev mail'
}
}
scm {
connection = 'url.git'
developerConnection = 'url.git'
url = 'url.git'
}
}
}
}
repositories {
maven {
url MAVEN_REPOSITORY_URL
credentials {
username = USER_NAME
password = PASSWORD
}
}
}
}
}
该库已成功发布,但是当我使用它时,我必须指定我需要 aar,如下所示。
implementation 'com.companyname.android:library-name:1.0.0@aar'
如果没有 aar 规范,我应该怎么做才能使用它?像下面这样。
implementation 'com.companyname.android:library-name:1.0.0'
所以 Gradle 可以找到 aar 文件并将其添加到外部库中。
解决方案
推荐阅读
- typescript - 打字稿:如何避免重复对象声明作为参数?
- amazon-web-services - Amazon Quicksight 计算字段
- javascript - 使用 Node.js 在 Dialogflow 中创建实体
- arrays - 如何等待 .map() 完成并在数组 [index] 中生成新键
- sql - 尝试优化系统对象搜索
- c - 为什么 OpenGL 不想编译我的 COMPUTE_SHADER?
- java - SOAP 调用期间运行时不使用 PortType(interface Name)?
- reactjs - 改变
- react-native - 单击搜索图标(而不是文本输入)时如何自动打开键盘?
- json - 将 JSON 解析为 Excel 但出现错误