创建自己的 Android 依赖库

使用 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

release

填写 release 和 version

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'.

android-maven-gradle-plugin与Gradle版本对比图

需要检查一下项目对应的 gradle 版本,否则第二步的 Module 添加 maven 依赖 时编译会提示找不到 class 文件。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容