Skip to main content

使用vanniktech 的插件上传库到 Maven Central Repository

 # MavenCentralRepositoryExample

upload android aar to Maven Central Repository
发布 aar Maven Central Repository 中央仓库


## 1.在项目build.gradle.kts添加下面信息
`id("com.vanniktech.maven.publish") version "0.34.0"`
```kotlin
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.android.library) apply false

id("com.vanniktech.maven.publish") version "0.34.0"
}
```

## 2.gradle.properties添加下面信息

```properties
mavenCentralUsername=xxxxxxxx
mavenCentralPassword=xxxxxxxxx
signing.keyId=xxx
signing.password=xxx
signing.secretKeyRingFile=/xxx/yyyy/secring.gpg
```
## 3.library/build.gradle.kts添加下面信息
`id("com.vanniktech.maven.publish") version "0.34.0"`

```kotlin
group = "io.github.chinavolvocars"
version = "0.0.1"

mavenPublishing {
publishToMavenCentral()
signAllPublications()

coordinates(group.toString(), project.name, version.toString())

pom {
name = "library"
description = "A library."
inceptionYear = "2025"
url = "https://github.com/ChinaVolvocars/library/"
licenses {
license {
name = "The Apache License, Version 2.0"
url = "https://www.apache.org/licenses/LICENSE-2.0.txt"
distribution = "https://www.apache.org/licenses/LICENSE-2.0.txt"
}
}
developers {
developer {
id = "atlantis"
name = "Android Developer Atlantis"
url = "https://github.com/ChinaVolvocars/"
}
}
scm {
url = "https://github.com/ChinaVolvocars/library/"
connection = "scm:git:git://github.com/ChinaVolvocars/library.git"
developerConnection = "scm:git:ssh://git@github.com/ChinaVolvocars/library.git"
}
}
}
```

### 完整如下图所示
```kotlin
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("com.vanniktech.maven.publish") version "0.34.0"
}

android {
namespace = "io.github.chinavolvocars.example.library"
compileSdk {
version = release(36)
}

defaultConfig {
minSdk = 25

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
}

dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
}

group = "io.github.chinavolvocars"
version = "0.0.1"

mavenPublishing {
publishToMavenCentral()
signAllPublications()

coordinates(group.toString(), project.name, version.toString())

pom {
name = "library"
description = "A library."
inceptionYear = "2025"
url = "https://github.com/ChinaVolvocars/library/"
licenses {
license {
name = "The Apache License, Version 2.0"
url = "https://www.apache.org/licenses/LICENSE-2.0.txt"
distribution = "https://www.apache.org/licenses/LICENSE-2.0.txt"
}
}
developers {
developer {
id = "atlantis"
name = "Android Developer Atlantis"
url = "https://github.com/ChinaVolvocars/"
}
}
scm {
url = "https://github.com/ChinaVolvocars/library/"
connection = "scm:git:git://github.com/ChinaVolvocars/library.git"
developerConnection = "scm:git:ssh://git@github.com/ChinaVolvocars/library.git"
}
}
}
```

## 4.点击publishToMavenCentral上传到Maven Central Repository仓库






>注意使用`base64 -i secring.gpg -o cert.base64 `命令生成 cert.base64文件,将文件中的信息复制到 github action`GPG_KEY_CONTENTS`

> 详情参考1[将你的库发布到 Maven Central – 教程](https://docs.kmpstudy.com/multiplatform-publish-libraries.html#z34aij9_12)

> 参考2[Storing Base64 binary blobs as secrets]
(https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets#storing-base64-binary-blobs-as-secrets)

> 参考3: [vanniktech/gradle-maven-publish-plugin](https://github.com/vanniktech/gradle-maven-publish-plugin)

Popular posts from this blog

《股票大作手回忆录》杰西·利弗莫尔十大交易心法

  1、认清大势 第5章原文:赚大钱不能靠个股的波动,而要靠大盘走势;不能靠解读盘面,而要靠预判整个市场和市场趋势。 书中写了利弗莫尔赚大钱的几次关键机会:1907年先做空市场,底部时反手做多,赚取数百万美元;1915-1916年牛市做多,高位时做空12只股票,又赚回数百万美元;还有经典的1929年,做空赚了1亿美元。 而1911到1914年期间,市场没有赚钱机会,利弗莫尔说他一分钱都没有赚到。 2、交易心理是关键 第12章 原文 :当一个人急于让市场满足自己的需求时,他会怎么做?他是在赌博,所以他因此承受的风险远高于他理智时的操作。 1908年,利弗莫尔做棉花期货大亏,从几百万身家亏到只有几十万,为了扳平回本,他最后连几十万都全部亏完,还背了一身债,所以说财不入急门,赌性要不得。 第14章 原 文 :只要我欠着钱,我就会一直担心,我就无法顺利地东山再起,这一点明白无误,我告诉自己:我必须破产。 1915年,利弗莫尔欠了100多万美元的债务,但因为债务问题导致心理问题,无法在市场正常发挥,所以不得已破产来减轻债务,以轻装上阵。所以焦虑和压力的心理,是交易的大敌。 3、趋势为王 第10章 原 文 :价格和其他东西一样,沿着最小阻力方向运动,所有你需要做的就是观察行情走向,确定市场阻力位,一旦确定之后时刻准备好沿着最小 阻力线 交易。 利弗莫尔所说的最小阻力线,是指价格突破盘整区间的上下边,即突破了阻力位,表明行情的趋势已经走出来,可以跟随突破方向进行交易。 4、耐心等待交易机会 第14章 原 文 :六周的耐心等待之后,最终我还是用理智战胜了贪婪和欲望。 利弗莫尔买伯利恒钢铁的时候,只有一次赊来的交易机会,可以买500股,为了保证万无一失,他耐心等待了6周,等到这个股票整数突破100点的时候买入,打赢了他交易历史上最著名的翻身仗。 5、独立分析判断,拒绝小消息 第8章 原 文 :我变得比任何时候都更加独立,不会去听信别人的小道消息和评论,也不会理会其他人的意见、推测和怀疑。 利弗莫尔经历过多次失败,都是因为失去了独立思考和轻信他人的缘故。1907年轻信好友的干预损失4万美元,1908年又被洗脑做多棉花而遭遇惨败。所以他学会了反其道而行之,反向利用小道消息进行操作,均取得了盈利。 6、浮盈加仓 第7章 原文 :初次交易之后,除非能够显示你可以盈利,否则不要进行第二...

虚拟币交易平台 viabtc_exchange_server ubuntu 16.04 安装步骤

########1############ 下载宝塔: wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh Congratulations! Install succeeded! ================================================================== Bt-Panel: http://155.138.211.245:8888/37dfffff username: dbdiyxmj password: f2ec3b83 Warning: If you cannot access the panel, release the following port (8888|888|80|443|20|21) in the security group ================================================================== sudo apt update ########2############ sudo apt install libev-dev libjansson-dev libmpdec-dev libmysqlclient-dev libcurl4-gnutls-dev libldap2-dev libgss-dev librtmp-dev libsasl2-dev git default-jdk openssl libssl-dev mysql-server 数据库root 密码:root ########3############ wget http...

Ubuntu 18.04 升级 Cmake

千万不要卸载删除 ubuntu 原有的cmake,否则之前经过原有cmake编译过的文件将也会被删除。 千万不要使用下面这句命令删除原有的 cmake ! sudo apt-get autoremove cmake 下载地址  https://github.com/Kitware/CMake/releases 下载 wget https://github.com/Kitware/CMake/releases/download/v3.24.0/cmake-3.24.0-linux-x86_64.tar.gz 解压 tar -zxvf cmake-3.24.0-linux-x86_64.tar.gz 移动 sudo mv cmake-3.24.0-linux-x86_64 /opt/cmake-3.24.0 建立软链 sudo ln -sf /opt/cmake-3.24.0/bin/* /usr/bin/  查看当前cmake版本 cmake --version 环境变量设置 # 进入~/.bashrc sudo gedit ~/.bashrc # 输入以下内容 export  PATH=$PATH:/opt/cmake-3.24.0/bin 生效环境变量 source ~/.bashrc