Android:我们该如何做一名合格的代码开源者

96
Carson_Ho 11f8cfa8 ec9f 4f82 be92 d6a39f61b5c1
0.9 2018.09.06 08:59* 字数 1437

前言

  • 在进行 Android开发中,很多时候 我们都是充当 代码引用者的角色,即通过引用别人的代码来实现功能需求
// 通过依赖来引用Okhttp开源代码库,从而实现发送网络请求的功能
dependencies {
  compile 'com.squareup.okhttp:okhttp:2.4.0'
}
  • 今天,我将教大家如何做一名 合格的代码开源者,所以本文概括如下:
示意图

目录

示意图

1. (需求)代码引用者需要什么?

将 整个开源项目 当作一款产品,代码引用者 = 用户,用户的需求是什么呢?

  1. 了解开源库的相关信息(是什么、有什么用...)
  2. 具体如何将开源库代码应用到项目中
  3. 希望获取源码,从而进行二次开发 、作出代码贡献 & 学习

若要成为一名 合格的代码开源者,则需要满足代码引用者的上述基本需求。


2. (解决方案)代码开源者需要做什么?

  • 为满足上述需求,解决方案如下:
示意图
  • 即,一名 合格的代码开源者在开源项目时,需要做到:
    1. 上传源码 到 远程版本控制仓库Github
    2. 在远程版本控制仓库Github上添加说明文档 & 开源协议
    3. 上传源码 到 远程 Android Library文件服务器

3. (总体方案)开源流程步骤

  • 根据需求 & 解决方案,得出最终的开源流程步骤如下:


    示意图
  • 接下来,我将按照通过 开源1个自定义View项目的例子,从而详细讲解上面的每一步解决方案 & 整个开源流程步骤。


4. (详细方案)流程步骤详解

下面,我将详细讲解每个步骤。

4.1 写好开源库代码

前言提到,本文不是 以撰写开源代码为目的的技术教学文档,而是 一份 开源项目规范性的流程文档,所以


4.2 上传源码 至 远程版本控制仓库Github


4.3 上传源码 至 远程Android library文件服务器

  • 作用:方便 其他Android开发者 通过Android Studiobuild.gradle文件中添加依赖,从而方便使用你的代码Android Library
// 通过远程依赖来引用Okhttp开源代码库,从而实现发送网络请求的功能
dependencies {
  compile 'com.squareup.okhttp:okhttp:2.4.0'
}
  • 由于在Android Studio采用 添加引用依赖的方式更加简单,所以此处的远程 Android library文件服务器以 JCenter 为例

关于JCenter & 如何上传 请看文章如何使得自己的代码被别人优雅引用:快速上传Android Library到JCenter超详细教程


4.4 在远程版本控制仓库Github上 添加 说明文档(README文档)

  • 作用:介绍 开源项目 及其 使用方法

分为英文版本( README.md ) & 中文版本( README-CN.md

  • 具体操作:添加文档方法主要有2种
    1. 本地撰写 & 上传:本地写好README.md文档 ->> 添加到Android Project项目的根目录 ->> 通过命令行 PushGithub
示意图
  1. Github上撰写:直接在GitHub该项目仓库中 Add a README
示意图
  • 文档模板
    具体该如何写开源项目说明文档,请以我其中一个开源项目作为参考:Kawaii_LoadingView。欢迎 Star

善解人意的我也添加上了英文文档模板,请自取!


4.5 在远程版本控制仓库Github上 添加开源协议

  • 作用:制定 开源代码贡献者对源码修改 的规则

  • 开源协议类型

示意图
  • 选择开源协议的标准
示意图
  • 添加开源协议操作
  1. 具体操作请看GitHub添加开源协议帮助文档
  2. 若英文不好,请看隔壁隐藏的的说明图。
示意图
  • 添加成功示意图
示意图
  • 至此,一个合格的项目开源流程已经讲解完毕。
  • 今后,代码引用者可以
  1. 通过Github上的文档了解你的开源库如何使用
  2. 通过 引用JCenter依赖远程使用你的项目
  3. 通过Github项目仓库获取你的源码进行二次开发

5. 总结


请点赞!因为你的鼓励是我写作的最大动力!

相关文章阅读
Android开发:最全面、最易懂的Android屏幕适配解决方案
Android事件分发机制详解:史上最全面、最易懂
Android开发:史上最全的Android消息推送解决方案
Android开发:最全面、最易懂的Webview详解
Android开发:JSON简介及最全面解析方法!
Android四大组件:Service服务史上最全面解析
Android四大组件:BroadcastReceiver史上最全面解析


欢迎关注Carson_Ho的简书!

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度

Android常用
Android常用
3.9万字 · 60.3万阅读 · 914人关注