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

写在开头(的废话)

本文主要总结通过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
    }
添加JitPack插件

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

2 、在library 的gradle配置

apply plugin: 'com.github.dcendents.android-maven'
添加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

配置Git

3、配置GitHub账号

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

配置GitHub

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

1、新建GitHub仓库

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

上传GitHub-选择菜单
上传GitHub-添加GitHub仓库信息

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

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

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

通过AS提交GitHub

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

3、创建release版本

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


创建release版本

五、JitPack打包使用

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

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

JitPack构建打包

2、在项目中使用compile集成

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

项目中使用compile集成

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

Demo中效果

GitHubDemo 地址

总结

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

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

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
    }
}
GitHubDemo1.0.1--注释被清除
GitHubDemo1.0.2--注释被保留

最后(的废话)

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

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

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

关于我

简书: AriesHoo
GitHub: AriesHoo
Email: AriesHoo@126.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,574评论 25 707
  • ——挑战自己,改变自己,感恩有你 褚旭践行自己承诺90天记录(11/90) [奋斗]未来90天,我要持续践行达成以...
    褚洪嘉阅读 119评论 0 0
  • 人是群居动物,所以我们必不可少的要和外界有联系,我们也都喜欢这种聚集的状态,因为这样我们会有莫大的安全感,群体带给...
    语见生活阅读 395评论 5 6
  • ——致所有为环卫工作而默默奉献的劳动者 每天的凌晨时分,整个城市都还沉浸在一片静谧之中,漫天的黑夜席卷在大地之上,...
    伊沫儿阅读 771评论 0 3