相信自从看了我的 GitHub 教程很多人开始爱上了 GitHub,有些人微博也不刷了,知乎也不刷了,改刷 GitHub 了,而且刷的不亦乐乎。这是好事,多接触多了解一些开源项目,对你之后的项目中的开发效率有很大提高。但是,我要告诉你们的是,你们不是正确的姿势在阅读开源项目,今天就教你们一招最屌的姿势。

首先说明下,这里的「阅读」是泛指,对于 Android 来说,除了阅读还有运行 demo 看下项目效果等。

来看下一般人的阅读开源项目的姿势是怎么样的:

  1. 找到项目地址
  2. 点击「download zip」
  3. 解压到一个目录
  4. 打开 Android Studio
  5. 导入项目
  6. Sync gradle
  7. 运行项目
  8. 选择运行的设备
  9. 删除下载的 zip 文件

对比下你是不是这样的?这效率也太低了。

一方面是步骤繁琐,当然可能有部分人用 Git 来代替下载,稍微减少了点步骤,另一方面 Android Stduio 很吃内存,光启动都要不少时间,更别提导入、编译、运行了,我们实际开发中是不得不用,但是如果只是为了阅读源码,看下效果就运行 Android Stduio 未免消耗太大,而且经常是很多时候可能同时阅读多个项目,那么同时打开多个 Android Stduio 窗口更是对电脑是个大考验。

来看下我的阅读源码的步骤:

  1. git clone 项目地址
  2. 用 sublime(或者 atom、vim)轻量级编辑器打开阅读源码
  3. 用 gradle 命令行运行查看效果

是不是步骤大幅简化?另外也不用打开 Android Studio 这内存机器了,而且用这种轻量级编辑器想打开多少项目就打开多少项目,第三部直接命令行编译、运行更酷。

很多人肯定会问第三步的具体流程,这个就是关键点了。下面直接列出这一步的一些关键点,就不详细解释了,之前看过我 Gradle 文章的应该懂。

  • 1.首先检查开源项目的 gradle 版本,buildTools 版本以及 compile sdk 版本,确保这三个ok就好办了;

  • 2.利用项目内置的 gradle wrapper 来进行编译打包:

./gradlew clean
./gradlew assembleDebug

这两步就可以编译、打包,然后自己手动安装;

  • 3.编译打包、安装其实可以合并:

    ./gradlew clean
    ./gradlew installDebug

这两步就直接安装到你设备上了,都不需要手动安装,是不是更方便快捷了?

那有人问了,有没有一步下载、编译、打包、运行就可以搞定的?卧槽,你真是懒到家了,但是我要告诉你还真有!

GitHub 上有一个项目叫 dryrun 就可以满足你的要求,翻译过来我把它叫做「干跑」,这翻译够直白吧!

只要安装这个工具,直接执行一个命令:

$ dryrun git@github.com:cesarferreira/android-helloworld.git

上面那个 Android 的 demo 就可以直接安装到你的设备上了,是不是狂拽酷炫吊炸天?

但是本质上跟我自己的步骤一致,只不过它通过 ruby 脚本把它合并起来了。

值得注意的是:

  1. dryrun 是一个 gem,它是基于 ruby 的,如果对 ruby 不了解,本地没安装过 ruby 折腾起来挺费事的,它的安装很简单:

    gem install ruby

  2. 如果你想要运行的 Android 项目在 GitHub 上目录里 gradle 版本,buildTools 版本以及 compile sdk 版本跟你本地不一致,那么会运行失败;

  3. 它的实用价值没有那么高,就是用来装逼的,适合我这种又懂 Ruby 又懂 Android 同时又喜欢装逼的人;

  4. 有兴趣的不妨折腾下,不感兴趣的你该学会我的第二种方式,很实用,效率很高,你值得拥有!

嗯,就这样,装逼完毕!

本文原创发布于微信公众号 AndroidDeveloper,id:googdev,欢迎关注获取更多原创干货!

教你一招最屌的阅读开源项目的姿势相关推荐

  1. git 给每个branch设置权限_自定义git命令阅读开源项目

    准备工作 查看当前git命令执行目录 which git 查看执行目录下git相关软连接 ls -lrt /usr/local/bin/git* 查看git安装目录下git相关命令ls -lrt /u ...

  2. 如何读懂python代码_教你如何阅读 Python 开源项目代码

    作者: Destiny 来源:https://learnku.com/articles/23010/teach-you-to-read-the-python-open-source-project-c ...

  3. 开源项目源码阅读方法

    本文转载自:知乎:关于阅读开源项目的源码,有哪些经验值得分享? iammutex 读源码,用CodeWa吧~ 214 人赞同 我先说下自己的经历吧. 我比较完整的读过的有wordpress,ttser ...

  4. 秋招看到github上不错的项目,但不知道该咋学?

    作者:阿秀 阿秀的学习笔记:https://interviewguide.cn 你好,我是阿秀. 昨天的文章中提到了校招过程中简历上相对而言比较重要的两个地方:实习经历和项目经历,昨天已经聊过实习相关 ...

  5. DayDayUp:教你一招如何在道客巴巴免费下载自己被侵权的文章

    DayDayUp:教你一招如何在道客巴巴免费下载自己被侵权的文章 目录 教你一招如何在道客巴巴免费下载自己被侵权的文章 定位到侵权文章链接 第一步,点击[打印] 第二步,利用稻壳阅读器软件打开文章 T ...

  6. 线上Bug无法复现怎么办?老司机教你一招,SpringBoot远程调试不用愁!

    前言 在部署线上项目时,相信大家都会遇到一个问题,线上的 Bug 但是在本地不会复现,多么无奈. 此时最常用的就是取到前端传递的数据用接口测试工具测试,比如 POSTMAN,复杂不,难受不? 今天陈某 ...

  7. 在线HTML网页小窗口复制不了,教你一招:解决某些网页不能复制的文字的N种方法!...

    有时候碰到网页文字无法复制怎么办?要么只能手动一个个字输入,要么就需要花钱开通会员才能复制.今天小编就教你几个好用的方法来解决这个难题! 方法一:打印方式实现 我们按Ctrl+P进入打印预览里,然后就 ...

  8. 公众号如何运营?教你几招超实用的公众号运营方法

    现在几乎大多数的企业和品牌都拥有自己的公众号,但是想要将公众号运营起来真的不是一件易事!任何工作都讲究方式和方法,公众号运营也是如此,公众号如何运营?接下来伯乐网络传媒教你几招超实用的公众号运营方法! ...

  9. 和优化大师一样的软件_手机里系统自带的软件无法卸载?教你一招,摆脱“流氓软件”!...

    阅读本文前,请您先点击上面的蓝色字体"生活园",再点击"关注",这样您就可以继续免费收到最新文章了.每天都有分享最靠谱.最实用的健康养生相关的常识.知识.完全是 ...

  10. 手机录音 怎么单声道_手机音量太小怎么办?教你一招只需打开这里,进来学学吧...

    阅读本文前,请您先点击上面的蓝色字体"晓艳姐姐",再点击"关注",这样您就可以免费收到最新内容了.每天都有分享,完全是免费订阅,请放心关注. 手机音量太小怎么办 ...

最新文章

  1. Python 单下划线(“_“)与双下划线(“__“)以及以双下划线开头和结尾的的区别
  2. linux个人常用命令备注
  3. usb_get_device_descriptor()
  4. Linux系统如何在开机时修改root密码
  5. Python基础-List找重复数
  6. 不喜欢写测试的朋友看过来,与你分享写测试的经验 做一个爱写测试的程序员...
  7. 大话云存储,这个“对象”可能无处不在
  8. Zookeeper的ACL权限控制
  9. Min_25筛(LibreOJ #6053: 简单的函数)
  10. socket.io html5 聊天,WebSocket探讨之——socket.io搭建多聊天室
  11. Flex 与 Asp.Net 通过 Remoting 方式进行通讯 (三)
  12. 一文弄懂数据挖掘的十大算法,数据挖掘算法原理讲解
  13. 高中生计算机会考word题,高中信息技术会考操作题解析
  14. GAN与自动编码器:深度生成模型的比较
  15. 分析方法选讲期末复习脉络图---完结版
  16. perl uc,lc,ucfirst,lcfirst的用法
  17. Vue 拖拽缩放组件 vue-drag-resize属性
  18. 什么是PCB加工中树脂塞孔工艺?
  19. 微分,泰勒公式及其在图像处理中的应用
  20. javascript中的instance和typeof

热门文章

  1. We7开通问答系统:进一步开发社区的力量
  2. Windows 有哪些值得推荐的必装软件?
  3. 苹果Mac备份应用推荐:Get Backup Pro
  4. 如何将PDF转成Excel格式?
  5. 从Photoshop无法启动DeNoise AI Mac作为插件的解决办法
  6. 如何在Mac上搜索隐藏文件?
  7. 如何在Mac上使用Memoji贴纸、屏幕效果、应用程序和Messages
  8. SDUT OJ 3403 数据结构实验之排序六:希尔排序
  9. Django模板过滤
  10. B/S架构 Web打印程序(Argox)