在5~10分钟内我没有成功使用JitPack发布本身的Library

概述

在开发过程当中,有不少模块是不依赖于某个项目的,也就是全部项目都是通用的,这种模块有不少,对于小的工具类,我都是本身在项目下新建一个utils包,比较大 的都是经过library进行引用,之前也想着本身搞一个远程仓库进行依赖,直接经过gradle接入,研究了一下,如今主流的仓库大体有Maven center ,jcenter,也注册过帐号,当我准备接入的时候发现了JitPack这个仓库,而后发现接入流程比较人性化,并且能够跟本身的Github打通,而后就选择了它做为接入方式了,然而,痛苦才刚刚开始。android

正文

网上看了不少文章,各类5分钟,10分钟接入JitPack,看地我是热血沸腾,卧槽,这么简单,我也试试,而后就开始了。git

One

新建一个Project,而且在项目中新建一个Librarygithub

Two

添加依赖 project的build.gradlebash

dependencies {
   classpath 'com.android.tools.build:gradle:3.0.1'
   classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
    }

复制代码

library的build.gradleapp

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
group='com.github.wustor'
复制代码

Three

上传到本身的Github上面去,而后发布一个版本,版本号为v0.0.1 maven

JitPack

Four

进入JitPack官网,而后使用本身的Github帐号进行登陆,在左侧找到你刚才发布的项目,点击会出现 工具

error
当时我觉得这样就能够引入了,实际上并无发布成功,咱们看到Log是红色的,说明报错了,成功的时候是绿色的,点击进去查看日志

0m0.708s
FAILURE: Build failed with an exception.
* Where:
Build file '/home/jitpack/build/build.gradle' line: 6
* What went wrong:
A problem occurred evaluating root project 'build'.
> Could not find method google() for arguments [] on repository container.
复制代码

咱们知道google()是谷歌本身的maven仓库,是AS3.0也就是基于gradle3.0,说明JitPack暂时还不支持gradle3.0gradle

Five

那我就只能把gradle的版本下降至2.3.3,而后同时将gradleWrapper,而后发布第二个版本v0.0.2,不过好像并无什么用,云端编译依然没有经过ui

* Where:
Build file '/home/jitpack/build/app/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Minimum supported Gradle version is 3.3. Current version is 3.1. If using the gradle wrapper, try editing the distributionUrl in /home/jitpack/build/gradle/wrapper/gradle-wrapper.properties to gradle-3.3-all.zip
复制代码

这个错误让我很无语,我明明已经上传了3.3,还跟我说没有上传,逗我玩么,从新发布了好几个版本,依然不行google

Six

若是不是由于这种方式,相比jcenter有不少优点,我可能就直接放弃了,官方明显没有对gradle的版本进行适配,不过也能够理解,比较gradle3.0也是刚出来不久,可是那些5~10分钟的博客确实是成功了,而后我就本身看了看他们的Demo,发现他们的gradle版本都比较低,而后我就换成了他们的版本,也就是:

classpath 'com.android.tools.build:gradle:2.2.3'
    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
复制代码

而后从新上传至Github,进行发布第三个版本,v0.0.3,成功了

success
点击Get it,能够看到依赖方式

compile 'com.github.wustor:JitPackDemo:v0.0.3'
复制代码

Seven

若是咱们想在本地使用这个开源项目也比较简单,在project的根目录下添加JitPack的maven 依赖

allprojects {
		repositories {
			maven { url 'https://jitpack.io' }
		}
	}
复制代码

而后再app的目录下进行引用

dependencies {
		compile 'com.github.wustor:JitPackDemo:v0.0.3'
	}
复制代码

因为JitPack是在云端编译的,实际上跟在本地没有什么区别,因此只要在JitPack的官网上面显示构建成功,那么在本地确定是能够引用的,这里就不作介绍了,并且这也不是本文的重点

总结

其实写这篇博客,可能花了不到半个小时,可是在集成的时候,确实是花了很长时间,网上的博客介绍,至少我看过的,百分之百的都是gradle插件版本为2.2.3的环境下进行集成的,并且官方也给出了gradle版本对应的插件版本,就是在这种环境下仍是没法成功,想起来以前在Android Studio 3.0的基础上集成Jenkins时也是各类莫名其妙的问题。不过也有多是本身的环境哪里出了问题,等过一段时间再试试gradle的3.0版本。

代码下载

相关文章
相关标签/搜索