论一款炫酷 Android 开源项目的修炼之路(上)

冲天香阵透长安,满城尽带黄金甲。这篇文章主要讲述论一款炫酷 Android 开源项目的修炼之路(上)相关的知识,希望能为你提供帮助。
写在前面
在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 Github 的开源项目。通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看到页面汇中有好多的彩色标签,看起来很酷,很专业,很有逼格,能提升很多的好感度。
前言
本文是一篇很长的文章,其中有很多是素材图片,务必做到每个细节笔者都实践一遍。考虑到大家时间有限,各取所需,所以按照笔者的惯例,首先发布一篇完整版,其次,有一篇缩略版。但本文这次缩略版不好做,所以综合考虑,把每个单独的知识点拆分出来,抓住重点,尽量让大家看的开心。
这里需要提醒的是:

看了完整版就不用看精简集合了,内容都一样。完整版具有一定的连贯性。
精简版就看的清爽,以便快速查找相关资料和步骤。
这里优先汇总下:
相关链接:
完整版:
  • 打造一个高逼格的android开源项目——小白全攻略
精简集合版:
  • 徽章系列1: Top 30 android 开源项目徽章
  • 徽章系列2:JitPack 的使用
  • 徽章系列3: Travis CI 的使用
  • 徽章系列4: Circle CI 的使用
  • 徽章系列5: Codecov 的使用
  • 徽章系列6: Api_Level 的使用
  • 徽章系列7: codacy 的使用
  • 徽章系列8:生成个性徽章
总分类:
  • 徽章(shields )系列文章总分类
Github 地址:
  • 徽章项目 Demo github 地址:https://github.com/gdky005/AndroidBadge
正文如下:
范例我们以最流行的 android 开源项目 MPAndroidChart 为例来看看。
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
  1. 前两个蓝色的标签:开始两个蓝色的标签是开源项目主要贡献者 Twitter 的联系方式,点击后可以跳入到 Twitter 的主页,查看该大神动态。
  2. 橘色的标签:是国外比较有名的开源项目网站 android-arsenal, 很多开源项目都会在这里找到,有该项目的详细介绍。包含组员,版本号,github 项目基础信息等等。点击后会进入 MPAndroidChart 项目的首页,能看到有好多想知道的,不想知道的各种信息。
  3. release蓝色的标签: 点击后能进入到比较有名的 jitpack.io 对应的MPAndroidChart 页面,直接获取 MPAndroidChart 的最新版本,也能看到之前的构建历史。下面会重点介绍 jitpack.io 的使用。
  4. 绿色的标签: 这个比较有意思,是当前想支持的最低版本,MPAndroidChart的最低版本是 api-8。 点击后会进入到Android 2.2–2.2.3 Froyo (API level 8) 的详细介绍。这个功能是 android-arsenal 专门提供 开发者使用的。 下面也会有所介绍。
下面我们将这些标签称之为徽章 (shields)。
Top 30 Android 开源项目徽章我们尝试在 github 里面搜索 以 Android 关键字,开发语言为 java 的开源项目。
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
统计情况如下:
  1. Retrofit 0
  2. okhttp 0
  3. Butter Knife 0
  4. MPAndroidChart 4

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  5. Android-Universal-Image-Loader 2

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  6. glide 1
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  7. leakcanary 0
  8. EventBus 1
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  9. picasso 0
  10. zxing 3

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  11. iosched 0
  12. Fresco 1

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  13. lottie-android 0
  14. RxAndroid 3
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  15. libgdx 1
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  16. SlidingMenu 0
  17. PhotoView 1
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  18. android-async-http 1
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  19. material-dialogs 5
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  20. AndroidUtilCode 0
  21. androidannotations 3
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  22. Material-Animations 1
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  23. fastjson 5
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  24. ViewPagerIndicator 0
  25. plaid 0
  26. PocketHub 1
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  27. tinker 4
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  28. Android-CleanArchitecture 2
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片




论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
我们是筛选容器就是 30个,统计日期:2017年04月27日(随着时间推移,可能略微有变动)。使用标签的有 18个,未使用的有12个。 使用概率大约是:60%。如果筛选容器的范围再大一点可能更多,没有使用徽章的12个项目,可能由于历史原因,或者个人原因未使用,但是不管怎么说,使用徽章的人会越来越多。
为什么要使用徽章?
徽章 shields
徽章的使用不仅仅是为了装 B,而是为了让开源想更高效。进入项目主页一眼能看出需要的东西,例如该项目能否编译通过,当前最新的版本是什么等。
徽章能突出视野,github 默认给我们展示的是黑白世界,但是通过 徽章,将会得到改变。重要的信息可以一目了然。
最常用徽章有哪些?
一份不太靠谱的标准,不过你应该掌握:
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
(PS: 上图中的图标顺序对应下面的顺序)
  1. jitpack 徽章:JitPack 是一个仓库,类似 maven,binary, 主要是帮我们生产 android 项目的 aar or jar 的平台。基于 GitHub,可以很方便将 library 发布到远程,然后可以用 gradle 依赖到任何一个项目中。
  2. travis-ci 徽章:Travis-CI 是一个线托管的CI服务,不需要自己搭服务器,在网页上点几下就好,用起来更方便。最重要的是,它对开源项目是免费的。
  3. circle-ci 徽章:Cricle-CI 是也一个线托管的CI服务,和上面相同,不过这个相对来说比较好用一些,可以 SSH 到测试容器,方便在出问题的时候上去调试找原因,界面相对好看一些。
  4. codecov 徽章:Codecov 是开源的测试结果展示平台,将测试结果可视化。Github上许多开源项目都使用了Codecov来展示单测结果。
  5. api level 徽章:Api-Leavel 是 android-arsenal 网站提供的 android api 展示的徽章。可以在项目主页中直接使用 badge 的内容。
  6. codacy 徽章:编程代码自动审查服务平台。帮助开发者及时发现代码中的 bug,提升软件运行质量,主要包括代码质量、语法规范、功能可用性方面的检查。
  7. 个人专属 徽章:shiedls 根据自己的需求可以定制很多样式的徽章,全凭个人 爱好,怎么开心怎么玩。
环境说明
这里我用一个简单的 android 项目来做一个说明,其他语言也是可以的,这里仅仅展示一个实例。
我的本机的android环境说明如下:
  • Mac
  • Android Studio 2.4 preview 4
  • gradle: 3.4.1
  • java: 1.8.0_73
  • buildToolsVersion: 25.0.2
  • compileSdkVersion: 25
  • minSdkVersion: 14
  • support: appcompat-v7:25.1.0
  • constraint: constraint-layout:1.0.0-beta4
  • classpath: com.android.tools.build:gradle:2.4.0-alpha4
用其他版本或者环境也是可以的, 这里只是说明。 如果任何遇到问题,可以在我的博客里面留言。
JitPack 的使用
官网: https://jitpack.io
创建 Android Library1.在 AS 中创建标准的 android 项目:
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
2.创建 Library:

论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
 
配置相关文件进入 jitpack android 可以看到 jitpack 为我们提供的文档帮助。
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片



论一款炫酷 Android 开源项目的修炼之路(上)

文章图片



论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
对应官网中说的 『group=’com.github.YourUsername’』, 其实可以不写,写不写都会自动生成。 即使你写成了别的,最终还是以这样的格式输出。
AndroidBadge 中 的 build.gradle :
classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.5‘ // Add this line

AndroidBadge 里面的 badge (library) :
apply plugin: ‘com.github.dcendents.android-maven‘

发布到 Github (这里直接展示 AS 中的界面图形操作,会命令行的同学随意)
  1. 登录自己的 github 账号,然后创建一个 项目,在首页右边能看到:

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  2. 点击 大绿色 按钮,并填写信息:

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片

    那个协议,你们随意,这里只是演示。
  3. 创建成功后:

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片

    拷贝当前项目地址。
  4. 在 AS 的项目中创建 git 仓库:

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片

    点击后,直接 选择 ok。将项目添加到 git 管理
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
    。 项目中的文件都变成绿色后:
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
    ,耐心等待完成后, 本地项目已经被 git 管理起来了,然后把代码提交到 github 即可。可能会有冲突,自行解决即可。
  5. 现在我们给 library 的 badge 项目添加一个工具类:

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片

    并提交到 github。
Github 打 release or tag
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
创建第一个 release 分支:
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
发布成功以后就能看到:
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
一般用 release 就可以了, 在适当的时候 用tag。
在 JitPack 上生成 aar
  1. 进入 https://jitpack.io/。
  2. 将 github 的项目地址: https://github.com/gdky005/AndroidBadge, 直接拷贝 到 jitpack 网页中的文本框中。
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  3. 点击 Look Up 后:

    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片

    等里面的那个圈圈 转完 以后,出现 绿色的这个:
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片

    说明已经发布 aar 成功,那么我们 可以直接使用了。 如果点开这个东西,会看到编译的和发布的过程。
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  4. 如果是红色的,说明有错误,点开查看,修改后重新构建。
在 app Demo 中测试是否生效点击 get 后,能看到:

论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
  1. 给项目根目录下的 build.gradle 添加:
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片



论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
AndroidBadge 中 的 build.gradle :
maven { url ‘https://jitpack.io‘ }

AndroidBadge 里面的 app 的 build.gradle :
compile ‘com.github.gdky005:AndroidBadge:v1.0.0‘

好的,现在我们已经添加成功了,在 MainActivity 里面是是吧,看能否调到之前在 library 里面的写的 Utils.getVersion()。很高兴的是我们调出来了:

论一款炫酷 Android 开源项目的修炼之路(上)

文章图片

在项目的最底下也能看到:
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片

运行 app 项目:
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片
问题来了,我们修改library 后也能调用到吗?让咱们一起试试吧:
  1. 修改 badge 项目中的 1.0.0 为1.0.1 :
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  2. 提交代码后,push 到 github。 提交成功以后,我们重复上面的打 release 步骤
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
    ,
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
    ,
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  3. 然后再去 jitpack 上看看:
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
    多了一个 v1.0.1, 点击 get 吧。
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  4. 发布成功后,我们去 app 里面试试。
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  5. 同步后,直接运行 app。非常好,我们的修改的东西已经变了:
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
至此, jitpack 基本也差不多了,但是貌似缺少了最重要的一点吧。
jitpack 的徽章怎么弄还是在刚刚的 jitpack 界面,只是我们把 页面拉倒底部。
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片

点击后:
论一款炫酷 Android 开源项目的修炼之路(上)

文章图片

是不是看到了熟悉的 md 文档的格式呢? 看不懂也没关系,下面会专门讲解。
  1. 拷贝内容:
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  2. 打开 github 的 AndroidBridge 项目:
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
    ,点击该文件。
  3. 让我们在线编辑下:
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  4. 给 github 中的 这个 readme.md 文件添加点东西吧。
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  5. 让我们 保存下。
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
  6. 然后回到项目首页看看:
    论一款炫酷 Android 开源项目的修炼之路(上)

    文章图片
【论一款炫酷 Android 开源项目的修炼之路(上)】棒棒的,添加成功。

































































    推荐阅读