AS快速上传Library到GitHub并通过JitPack打包集成

  • 本文为 AriesHoo 原创,转载必须保留出处!http://www.jianshu.com/p/b04ef4029b90
  • 【 GitHub-AriesHoo】
  • 【 -AriesHoo】

写在开头(的废话)

本文主要总结通过Android Studio 的Version Control上传Library到GitHub仓库;并通过JitPack 打包;最后通过gradle使用compile集成到其它项目的整个流程。并罗列其中的关键点以便各位在实际操作中少走弯路。

主要点

  • 通过Android Studio快速上传项目到GitHub

  • 通过JitPack构建打包Library

  • 通过JitPack打包Library如何保留代码注释

  • 上传项目哪些是必须上传的

注意:前方将会有一大波的图,一大波...大波...波...,请大家准备好纸巾,说错了!准备好流量

一、 准备一个要上传的Library项目

首先我们得准备一个想要上传的Library项目,笔者在这里以一个新的Project--GitHubDemo为例,新建一个library(就是我们最终要通过JitPack打包使用的)--以一个SnackBar封装的工具类作例。

1、 在project gradle配置JitPack插件

dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        //JitPack插件
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
AS快速上传Library到GitHub并通过JitPack打包集成_第1张图片
添加JitPack插件

笔者写本文的时候最新版本为2.0,笔者自己使用的1.5;
最新版本请查看 JitPack插件仓库

2 、在library 的gradle配置

apply plugin: 'com.github.dcendents.android-maven'
AS快速上传Library到GitHub并通过JitPack打包集成_第2张图片
添加Library配置

二 、配置Git及GitHub账号

第一步已经准备好了一个Library项目了,现在需要准备Git客户端,及Android Studio 配置Git客户端及GitHub账号。

1、下载并安装Git

这个没有什么多余描述的 Git下载地址

2、配置Git

打开Android Studio 设置-->>Version Control-->>Git-->>Path to Git executable(选择Git安装目录下cmd下的git.exe的全路径)-->>Test-->>Successful

AS快速上传Library到GitHub并通过JitPack打包集成_第3张图片
配置Git

3、配置GitHub账号

打开Android Studio 设置-->>Version Control-->>GitHub-->>Hostexecutable(github.com)-->>Login(GitHub账号)-->>Passsword(GitHub账号密码)-->>Test-->>Successful

AS快速上传Library到GitHub并通过JitPack打包集成_第4张图片
配置GitHub

4、通过Android Studio上传项目到GitHub

1、新建GitHub仓库

选择Android Studio 菜单-->>VCS->>Import into Version Control-->>Share Project on GitHub-->>New repository name-->>Description-->>Share-->>Successful

AS快速上传Library到GitHub并通过JitPack打包集成_第5张图片
上传GitHub-选择菜单
AS快速上传Library到GitHub并通过JitPack打包集成_第6张图片
上传GitHub-添加GitHub仓库信息

说明:点击share实际上是创建了一个GitHub服务器(此时远程仓库是个空仓库)及本地仓库,每次commit的时候会先提交到本地仓库,然后push的时候,才会提交到服务器

2、上传library项目到GitHub服务器仓库

Add必要的(后面会讲到)项目文件-->>填写描述-->>点击ok

AS快速上传Library到GitHub并通过JitPack打包集成_第7张图片
通过AS提交GitHub

说明:点击ok实际会同时提交到本地仓库并同步push到服务器仓库

3、创建release版本

给刚才上传GitHub项目打一个release,后面涉及版本更新的时候根据实际情况进行处理。


AS快速上传Library到GitHub并通过JitPack打包集成_第8张图片
创建release版本

五、JitPack打包使用

1、进入JitPack网站查找上一步提交的GitHub项目

在网站输入框填写GitHub账号名(前面配置过的)/仓库名 如例子AriesHoo/GitHubDemo,然后点击Look up,JitPack开始打包library;也可以通过链接访问:https://jitpack.io/#GitHub账号名(前面配置过的)/仓库名/ 如例子:https://jitpack.io/#AriesHoo/GitHubDemo/

AS快速上传Library到GitHub并通过JitPack打包集成_第9张图片
JitPack构建打包

2、在项目中使用compile集成

当JitPack构建成功后,点击相应版本后的Get it按钮,网站下边会出现对应的集成方法。

AS快速上传Library到GitHub并通过JitPack打包集成_第10张图片
项目中使用compile集成

至此通过Android Studio上传Library项目到GitHub并通过JitPack打包集成的流程已结束:附上Demo里的SnackBar效果

AS快速上传Library到GitHub并通过JitPack打包集成_第11张图片
Demo中效果

GitHubDemo 地址

总结

1、项目里哪些文件才需要上传

算了,我还是说下哪些不需要上传吧!(就是这么不按套路出牌)
一般情况下.gradle、.idea、build、gradle这些文件夹和.iml、gradlew、gradlew.bat、local.properties这些文件是不需要上传的

AS快速上传Library到GitHub并通过JitPack打包集成_第12张图片
GitHubDemo上传的
注:如Jitpack 提示gradle版本太低或找不到gradle 可将gradle文件夹和gradlew文件提交至GitHub即可正常打包

2、怎样将library里的注释内容打包

一般项目都或多或少增加一些关键方法及特殊内容的注释,方便其他人阅读使用。
只需在library的gradle配置增加以下内容

android {
    //以下为配置library注释在打包jar后保留
    // 打包源码jar
    task sourcesJar(type: Jar) {
        from android.sourceSets.main.java.srcDirs
        classifier = 'sources'
    }
    task javadoc(type: Javadoc) {
        failOnError false
        source = android.sourceSets.main.java.sourceFiles
        classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
        classpath += configurations.compile
    }
    // 打包文档jar
    task javadocJar(type: Jar, dependsOn: javadoc) {
        classifier = 'javadoc'
        from javadoc.destinationDir
    }
    artifacts {
        archives sourcesJar
        archives javadocJar
    }
}
AS快速上传Library到GitHub并通过JitPack打包集成_第13张图片
GitHubDemo1.0.1--注释被清除
AS快速上传Library到GitHub并通过JitPack打包集成_第14张图片
GitHubDemo1.0.2--注释被保留

最后(的废话)

如果大家在实际使用过程中有其它的问题可以提出来,大家一起解决!最好以issue的形式提交到 GitHubDemo,如果觉得本文对你有帮助,给个star也是不错的!

这里给大家推荐下笔者开源的库

  • Android常用UI控件-UIWidget

  • Android快速开发库-FastLib

希望大家不吝赐教,多给意见!

关于我

: AriesHoo
GitHub: AriesHoo
Email: [email protected]

你可能感兴趣的:(AS快速上传Library到GitHub并通过JitPack打包集成)