使用 JitPack 创建自己的依赖库大致流程如下:
一、创建 library 项目
二、上传 library 项目到 GitHub
三、使用 JitPack 生成依赖
四、使用到项目中
1.创建一个 library
通过 File -> New -> New Module ,选择 library ,创建一个新的Module项目。
或者将原项目的 build.gradle 内的 apply (一般在第一行)
apply plugin: 'com.android.application'
修改成
apply plugin: 'com.android.library'
这样就能创建一个 Module。
2.Module 添加 maven 依赖
要在 JitPack 使用的话,需要添加 maven 依赖。
在根目录的 build.gradle 加入 maven-plugin
dependencies {
...
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
}
项目的 build.gradle 添加
...
apply plugin: 'com.github.dcendents.android-maven'
3.将 Module 项目上传到 github,并提交 release
4.使用 JitPack 生成依赖
打开 https://jitpack.io/ 并将 github 的项目地址填入,点击 Look Up
会看到刚刚提交的 release 的版本号在列表中
5.使用你自己的项目作为依赖库
点击 get it 后,等待 build 完成,显示为绿色图标后,就可以在你的项目内添加依赖使用了。
使用只需要2个步骤:
- 在需要使用的项目根目录添加
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- 在项目添加依赖(以本项目为例)
dependencies {
compile 'com.github.look0089:MyDialog:v1.7'
}
6.徽章
可以 JitPack 页面下复制徽章,用于在 github 中显示 jitpack 版本信息,像这样:
[图片上传失败...(image-138309-1511426646302)]
常见问题:
1、library 中不能使用 switch case,会报错。需改成 if else。
2、JitPack 的 列表是根据 GitHub 的 Release 来获取的。而 Release 的顺序并不是按照提交顺序排序,似乎是根据 Tags 的字母排序。
因此最好是按一定格式进行排序,或者使用 -SNAPSHOT 获取最新的,例如:
dependencies {
compile 'com.github.look0089:MyDialog:-SNAPSHOT'
}
3、报错:Unable to load class 'org.gradle.api.internal.artifacts.ImmutableModuleIdentifierFactory'.
需要检查一下项目对应的 gradle 版本,否则第二步的 Module 添加 maven 依赖 时编译会提示找不到 class 文件。