如何将自己的库部署到JitPack
也许有人好奇,为什么
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
可以作为库来使用,能不能将自己的库以相同的方式给别人使用?目前有两种方式可以选择:jCenter
和JitPack
,jCenter
部署起来比较麻烦,就不介绍了。本文主要介绍jCenter
的部署方式。
【第一步】
新建一个项目
利用Android Studio新建一个项目,这个不用多说;
图片.png【第二步】
新建一个库
利用Android Studio新建一个库,并加入代码。
图片.png如图所示,新建库其实就是在项目中新增一个Module,至于怎么添加不是本文的重点,这里就不介绍了。如果不知道怎么添加这个Module,那么请出门左拐,这篇文章不适合您。
图片.png如图所示,Module已经建好,并加入了代码。
【第三步】
将项目上传到Github
按照上图的步骤,将项目上传到Github。有关Github在Android Studio中的配置不是本文的重点,请自行百度。如果配置没问题的话,最终会弹出这个对话框
图片.png直接点击Add即可。
这时,可以在Github中找到您刚才提交的项目。
图片.png【第四步】
官方部署流程
https://jitpack.io/docs/ANDROID/
请点击以上链接,查看官网部署流程。如果不想查看官网部署流程,那么请跳过这一步。
【第五步】
配置根目录的build.gradle
添加配置
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
如下:
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
【第六步】
在库目录中的build.gradle添加配置
apply plugin: 'com.github.dcendents.android-maven'
group='com.github.YourUsername'
图片.png
当前Module名称为mytoast
,也就是库
,在mytoast
目录下的build.gradle文件中添加配置:
apply plugin: 'com.github.dcendents.android-maven'
group='com.github.toast'
【第七步】
将以上修改的配置代码上传到Github
【第八步】
发布一个版本
如图,第一个版本已经创建好了。
【第九步】
登录JitPack官网,并绑定AllToast库
当点击“Look up”后会显示下图版本列表
图片.png在上图中,1.0.0部署成功,1.0.1部署失败。
这里,我只想告诉大家,按照以上步骤是有可能部署失败,原因请往下看。
【第十步】
处理部署失败的情况
如果您成功部署,那么也需要了解为什么会失败。失败的原因有二:
【一】
gradle没有上传到github
您必须检查gradle是否上传到github,如图
图片.png如果gradle没有上传到github,那么您的库是不可能部署到JitPack。
【二】
gradle本身问题导致部署失败
一般,第一次部署JitPack,gradle都达不到要求。
针对这个问题,我们看一下部署文档https://jitpack.io/docs/ANDROID/
图片.png您可能需要在项目中执行gradlew install
命令。如图
切换到根目录,在根目录中有一个gradlew.bat
批处理文件,出入gradlew install
命令执行这个文件,当执行完毕时,如果Gradle有变化,将变化了的文件上传到github。
最后重新发布一个版本,比如1.0.3
,将该版本部署到JitPack
。
如图,部署成功:
图片.png【第十一步】
如何使用这个已经部署好的库?
【第一步】
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
【第二步】
implementation 'com.github.NoBugException:AllToast:1.0.3'
其中
- NoBugException是github用户名,
com.github.用户名
这种方式可以保证唯一性; - AllToast是项目名称;
- 1.0.3是最近发布的版本号;
[本章完...]