将 AOSP Android JAR 及源码批量上传至 Maven 制品库的部署脚本。
mvn 命令)| 变量 | 说明 |
|---|---|
CNB_TOKEN_USER_NAME | CNB Maven 仓库用户名 |
CNB_TOKEN | CNB Maven 仓库访问令牌 |
克隆 AOSP Android JAR 仓库:
git clone https://github.com/Reginer/aosp-android-jar
脚本会扫描指定目录下所有 android-XX 子目录,每个子目录代表一个 API 版本:
根目录/
├── android-28/
│ ├── android.jar # 主制品
│ ├── ext.jar # 其他 jar(独立制品)
│ └── src/ # 源码目录(可选)
├── android-30/
│ ├── android.jar
│ └── src/
└── android-36/
└── android.jar
| 文件 | Maven 坐标 | 说明 |
|---|---|---|
android.jar | com.jacknic:aosp-android:{version} | 主制品,生成 POM |
其他 *.jar | com.jacknic:aosp-android-{文件名去后缀}:{version} | 独立制品,生成 POM |
src/ 目录 | com.jacknic:aosp-android:{version} (classifier=sources) | 源码制品,不生成 POM |
例如 android-28/ext.jar 会被部署为 com.jacknic:aosp-android-ext:28。
# 使用脚本所在目录作为根路径
./deploy.sh
# 指定根目录
./deploy.sh /path/to/android-jars
https://maven.cnb.cool/jacknic/maven-public/-/packages/
Groovy DSL,在 build.gradle 中添加:
repositories {
maven {
url 'https://maven.cnb.cool/jacknic/maven-public/-/packages/'
}
}
Kotlin DSL,在 build.gradle.kts 中添加:
repositories {
maven {
url = uri("https://maven.cnb.cool/jacknic/maven-public/-/packages/")
}
}
部署完成后,在项目中引用:
Groovy DSL:
implementation 'com.jacknic:aosp-android:36'
Kotlin DSL:
implementation("com.jacknic:aosp-android:36")