2025年末12月31号
- [自己创建Android Library,并以依赖的方式引用](#自己创建Android Library,并以依赖的方式引用)
自己创建Android Library,并以依赖的方式引用
使用的Android Studio是较新的版本,2025.2.2 ,旧一些的版本应该也可以 ,在开始之前首先要有一个githhub账号,当然这不是问题。
一共分为三个步骤,比较简洁
一、创建和配置库文件:
- 使用Android Studio创建一个新的项目 ,并新建库module,可以是多个,如:library1, library2;
- 配置每个库文件的build.gradle.kts文件:
a.头部插件模块添加maven
kotlin
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("maven-publish")
}
b. 在android节点中添加publishing
kotlin
publishing {
singleVariant("release") {
withSourcesJar()
withJavadocJar()
}
}
c. 新增afterEvaluate配置
kotlin
afterEvaluate {
publishing {
publications {
// 创建一个名为 "release" 的发布配置
create<MavenPublication>("release") {
// 指定要发布的组件(通常是 release 版本的 AAR包)
from(components["release"])
// 配置 Maven 坐标,这是其他项目引用你的库时的唯一标识
groupId = "com.github.andorid-xhs" // 通常是你的 GitHub 用户名或组织名,可以为包名
artifactId = "mylibrary2" // 库的名称,通常与模块名一致
version = project.extra["appVersion"] as? String // 版本号,jitpack将使用tag标签,这里是设置一个默认值
}
}
}
}
- 可选:在根目录新建jitpack.yml文件,自定义配置。如:指定sdk版本,指定构建哪几个module等
kotlin
jitpack:
enable: true
jdk:
-openjdk17
build:
projects:
-mylibrary
-mylibrary2
二、上传github
- 在git上创建仓库,如repo,关联到AndroidStudio库项目,并推送文件到仓库
- 使用git设置tag并推送:
kotlin
git tag -a 1.0.0 -m "develop 1.0.0"
git push origin 1.0.0
有些地方说tag的名字前要加个v,变成v1.0.0,这样引用的时候也需要加这个v,所以不如去掉
-
使用jitpack构建:打开https://jitpack.io,并粘贴自己的github库地址点击look up,左边Repositories列表会出现存在于github的所有项目,选中需要构建的项目,会自动构建

-
构建需要花几分钟,或者更长,成功后会出现按钮get it,点击就可以查看使用的语句;失败了就是Report,可以在旁边log中查看原因。
三、在项目中使用
- 在需要引用库文件的新项目中,根目录下setting.gradle.kts下dependencyResolutionManagement方法中,找到repositories{},添加maven的仓库地址:maven { url = uri("htttps://https://jitpack.io")};会引发同步操作,点击Sync now
kotlin
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
//自己的github maven 仓库
maven { url = uri("https://jitpack.io") }
}
}
- 在项目级如app的build.gradle.kts中引入:implementation("com.github.android-xhs.mylibrary:mylibrary1:1.0.0"),
kotlin
implementation("com.github.android-xhs.mylibrary:mylibrary:1.0.0")