在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版本。

代碼下載

相關文章
相關標籤/搜索