android
开发开源Android库是一个很棒的经验。 您有机会在使用开放源代码库的所有时间里回报自己的工作。 我们都使用了很多库,这些库简化了开发人员的工作。 这也是一个很好的学习机会,因为源代码是公开的,所有其他开发人员都可以检查和使用它,并且可以肯定的是,您会获得一些反馈。 作为开发人员,您必须准备得到正面和负面的评论,意见,建议,所有这些都可以帮助您获得更好的开发人员。 在这个激动人心的开发过程中,您会获得倾听其他开发人员意见和评论的丰富经验。 因此,如果您有想法开发它并使代码开源,那么您将受益。
这篇文章总结了开发开源Android库时应遵循的主要步骤(或我遵循的主要步骤)。
- 找到主意
- 查找仓库
- 建立一个网站
- 创建一个社区
- 发布图书馆
- 控制您的存储库
步骤1:找到想法
出发点是找到想法,正确的想法。 有很多开源库,每个都有自己的功能。 一般来说,有两种不同的选择:
- 如果您对未涵盖的内容有很好的主意,则可以开发您的库
- 否则,您可以为现有库做出贡献并尝试对其进行改进。
您可能有第三个选择:重写和改进现有库,添加一些新功能或使用新技术。
为了获得灵感,您可以看一下android-arsenal.com ,这是一个保存着最重要的库的很棒的网站。
您可以检查那里以了解您的想法是原创还是已经有类似的想法。
步骤2:查找存储库
一旦有了您的想法,就该找到合适的存储库代码存储位置了。 有几种选择,我最喜欢的是Github,因为它非常易于使用和免费。
只要您管理公共存储库,该帐户都是免费的,这就是我们所涉及的情况。 使用Github,您可以管理所有库开发过程。 为了不使事情变得太复杂,创建两个分支就足够了:
- 主分支
- 开发分支
主分支是您在“释放”库源代码时存储稳定代码的位置,以便其他开发人员可以下载和使用它。
dev分支是开发中的分支,在该分支中,直到将其移至master分支,代码才会稳定。
这些是其他一些有趣的功能,可以帮助您管理Android库源代码,例如里程碑和发行版。
步骤3:建立网站
此步骤不是必需的,但可以帮助其他开发人员了解您的库以及如何使用它。
您可以使用Github维基页面发布Wiki之类的信息,也可以选择创建由Github托管的网站。
在这种情况下,您必须创建一个名为gh-pages的分支,在其中添加HTML /脚本文件。 该网站应包含有关Android库,主要功能,为什么与其他库不同以及开发人员应使用您的库的相关信息。
您还应该添加有关当前库发行版和源代码的信息:它的结构和修改方式。
如果存在库,请不要忘记指定库依赖。
步骤4:建立社群
发布库的第一个版本后,应创建一个社区,以便用户和其他开发人员可以讨论与库有关的主题,并可以获得有关新功能的有用信息。 创建和处理社区的方法有多种,我更喜欢使用G +。 创建G +社区非常容易,一旦社区就绪,就可以邀请您的朋友加入。 G +社区是讨论Android Libray错误或倾听用户改进的好地方。
不要忘记在网站上链接社区。
步骤5:发布资料库
这不是一个琐碎的方面。 当您发布Android库时,该库可用于“全世界”。 Android库的发布过程非常复杂,需要几个步骤,但是它使该库更易于使用。
开发人员不想与库源代码作斗争以使其正常工作。 您可以选择仅将其保留为源代码,而想要使用它的开发人员,签出代码,将其导入他们的项目中。
如果您想做更高级的事情,可以使用Sonatype仓库。 当Android库位于sonatype存储库中时,可以在gradle文件中引用该库,例如:
dependencies {
compile 'your_id:lib_name:version'
....
}
最后一个选择是使用Jitpack.io和有趣的解决方案,简化发布过程,并且可以轻松地与Github集成。 您必须创建一个Github版本,并且无需太多工作即可在maven存储库中使用该库,以便可以在gradle文件中引用Android库。
步骤6:控制存储库
重要的一步是控制您的存储库。 一旦Android库可用,并且用户开始使用它开发项目,您的库可能会有一些错误,因此其他好心的开发人员开始修复此类错误,并在Github中创建提取请求。
一种控制存储库一致性并在提交更改时避免编译错误的方法是使用持续集成或CI 。 CI工具是一种系统,用于检查库源代码,以在进行一些更改后验证库源代码是否仍可编译。
Travis-ci是一种出色的工具。 它与Github集成在一起,并且可以使用同一帐户创建一个帐户。 Travis-ci要求您创建一个用于指导编译过程的生成文件。
每次修改Github中的源代码时,编译过程就会开始,您很快就会知道结果。
这是我两美分的价值。
翻译自: https://www.javacodegeeks.com/2016/01/6-steps-develop-publish-android-library.html
android
所有评论(0)