天天看點

釋出Android開源庫android library,并通過添加依賴的方式使用

在Github釋出開源庫的基本步驟

第一步:建立開源庫

第二步:将開源庫上傳到Github

第三步:通過JitPack釋出開源庫

第四步:在新項目添加依賴使用開源庫

建立開源庫

File->New->New Module->Android Library

釋出Android開源庫android library,并通過添加依賴的方式使用

lib就是我建立的開源庫。

将開源庫上傳到Github

VCS->Import into Version Control->Share Project on GitHub

釋出Android開源庫android library,并通過添加依賴的方式使用

把項目上傳到GitHub後,點選release設定開源庫的基本資訊:

釋出Android開源庫android library,并通過添加依賴的方式使用

設定開源庫的基本資訊:

釋出Android開源庫android library,并通過添加依賴的方式使用

通過JitPack釋出開源庫

JitPack 是一個 GitHub 開源代碼庫的便捷釋出管道。它可以讓你的 Android/Java 代碼庫自動完成釋出,進而令使用者能夠最便利地享受到你的代碼庫。

一旦你釋出了源代碼到 GitHub,并完成了送出、Release标簽動作,那麼 JitPack 上将會自動生成一個相應的符合 Maven 包引用規則的 ID:com.github.your-github-username:your-github-reponame:release-tag。在這裡,Maven Group Name 即 com.github.your-github-username,Maven Artifact Name 即 your-github-reponame。這樣的 Maven ID,三方庫使用者能夠通過 POM 或 gradle 引用到它。

這和 Maven Central,JCenter 最大的差別就在于你不必完成 Maven Central 的一系列注冊手續,乃至釋出一個庫之前的登記 Post 和等待管理者準許,也不必在 JCenter 上填寫冗長的标簽,找圖做圖做圖示寫說明,更不必每到釋出時做一系列的準備工作,使用專用的工具完成最後的工作。你隻需要寫好你的 GitHub Repo README就行了,其他的事情,JitPack 會全數包辦。

當然,這一切大體上限定在 Java 及其衍生領域,例如 Android。而諸如 Python,Nodes 等就沒法完成了。

除了支援 GitHub 上的公開 Repository 的自動釋出之外,JitPack 也支援 Bucket,GitLab,Gitee 賬戶中的公開庫的釋出。

釋出Android開源庫android library,并通過添加依賴的方式使用

Paste this in your README.md to add a badge:

在新項目添加依賴使用開源庫

參考第三步

下面說一下下面Tag的取值:

dependencies {
	        implementation 'com.github.wongkyunban:WEditText:Tag'
}
           
釋出Android開源庫android library,并通過添加依賴的方式使用

按照 JitPack 的官方說明,Tag可以是以下的值:

  • Release 标簽

    GitHub 的 Release 和 git 的 tag是一樣的。可以在GitHub 上通過 Web 界面建立 pre-release 和 release,也可以直接通過本機的指令行或者 IDE(如Android studio) 或者 Git Client 來建立 release 标簽。如git tag指令:

git tag 1.1.2
git tag v1.1.3
git tag release-0.1.1
git tag release/v0.1.3
           

推送标簽到遠端倉庫

git push并不會把tag标簽傳送到遠端伺服器上,隻有通過顯式指令才能分享标簽到遠端倉庫。

1.push單個tag,指令格式為:git push origin [tagname]

例如:

git push origin v1.0 #将本地v1.0的tag推送到遠端伺服器
           

2.push所有tag,指令格式為:git push [origin] --tags

例如:

git push --tags
           

git push origin --tags
           

下面是用Release tag來添加依賴

dependencies {
    implementation 'com.github.wongkyunban:WEditText:v1.0.0'
}
           
  • commit hash
dependencies {
    implementation 'com.github.wongkyunban:WEditText:4ca97ca'
}
           
  • branch-SNAPSHOT (替換 branch 為你的分支名)
dependencies {
    implementation 'com.github.wongkyunban:WEditText:master-SNAPSHOT'
}
           

注意: Gradle 會緩存SNAPSHOT内容,是以有時候可能無法擷取某個分支上的最新 build。可以在 build.gradle 中要求 Gradle 總是拉取最新的 build 版本:

configurations.all {
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}