JitPack发布一个你自己的 Android 依赖库
Posted 邹奇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JitPack发布一个你自己的 Android 依赖库相关的知识,希望对你有一定的参考价值。
文章目录
背景
最近突然想开发个 android Library
,提供 Android
依赖库给其他开发者简单使用。
前期踩坑略多,这里做个记录。
步骤
新建 Android Library 项目
新建一个 Project
工程,再新建一个 Library
模块 taostfree
。项目结构如下:
有疑问的同学可以查看工程结构,这里就不细说了。
配置 Gradle
toastfree
模块下的build.gradle
文件中添加maven-publish
插件
plugins
id 'com.android.library'
id 'maven-publish'
- 添加上传方法(官方建议)
dependencies
implementation fileTree(dir: 'libs', include: ['*.jar'])
...
afterEvaluate
// 官方建议使用上传方法
publishing
publications
// Creates a Maven publication called "release".
release(MavenPublication)
from components.release // 表示发布 release(jitpack 都不会使用到)
groupId = 'com.github.githubzouqi' //groupId 随便取 , 这个是依赖库的组 id
artifactId = 'toastfree' //artifactId 随便取 , 依赖库的名称(jitpack 都不会使用到)
version = '1.0.5' // 当前版本依赖库版本号,这个jitpack不会使用到,只是我们开发者自己查看
这里没啥可说的,上面注释已经写的很详细。
- 完整
gradle
配置
plugins
id 'com.android.library'
id 'maven-publish'
android
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
dependencies
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
afterEvaluate
// 官方建议使用上传方法
publishing
publications
// Creates a Maven publication called "release".
release(MavenPublication)
from components.release // 表示发布 release(jitpack 都不会使用到)
groupId = 'com.github.githubzouqi' //groupId 随便取 , 这个是依赖库的组 id
artifactId = 'toastfree' //artifactId 随便取 , 依赖库的名称(jitpack 都不会使用到)
version = '1.0.5' // 当前版本依赖库版本号,这个jitpack不会使用到,只是我们开发者自己查看
提交项目到 github
这个也是比较简单,同学们自己根据实际来提交即可。
我这里是已经提交过了,说下我的操作:关联远程库,提交到暂存区,拉取远端开发分支(我这里是 dev
)到本地,然后合并,合并成功后再 push
到远端开发分支即可。
上面是我通过 Git Bash
的一次完整的提交过程,仅供参考。
Pull Request 到主分支
后面是通过给主分支创建 tag
分支,打 release
包。所以我这里会先拉取一下从 dev
分支到主分支的请求。
熟悉 github
的同学也比较了解,这里不多细说。
上面就是一次完整的 pull requests
,仅供参考。
创建 tag 并发布 release 版本
我这里创建 tag
使用 github
做演示,同学们熟悉 git
命令的可以使用命令进行创建。
- 进到
release
打包页。如下图:
这里能看到所有打过的
release
版本信息。
- 新建 tag 并发布 release
输入新分支名称后点击回车,即可创建 tag v1.0.6 。
到这里就完成了 github 相关的 release 打包操作。
JitPack 生成项目的依赖库
打开 JitPack
官网 https://jitpack.io/,输入项目地址。点击 Look Up
,然后等待 builds
完成后生成库依赖。
等待 Get it 按钮变成绿色后,就表示生成库依赖成功了。
使用也比较简单,如下:
第三方应用集成使用依赖库
- 在
project
下的build.gradle
文件中配置
allprojects
repositories
...
maven url 'https://jitpack.io'
- 模块下的 build.gradle 中添加依赖
dependencies
...
implementation 'com.github.githubzouqi:ToastFree:v1.0.6'
然后 sync
重新构建一下项目,成功后可以发现依赖添加成功了。
- 在
MainActivity.java
中使用依赖库
上面说明依赖库成功添加,可以使用库里的api
。
JitPack 生成依赖库的 pom.xml 文件地址
https://javadoc.jitpack.io/com/github/github用户名/github项目名/
输入对应的版本路径即可查看对应版本库里的所有文件(也包括 pom.xml
文件)。
参考链接
技术永不眠!我们下期见!
以上是关于JitPack发布一个你自己的 Android 依赖库的主要内容,如果未能解决你的问题,请参考以下文章