• 教你一招最屌的阅读开源项目的姿势


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

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

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

    找到项目地址
    点击「download zip」
    解压到一个目录
    打开 Android Studio
    导入项目
    Sync gradle
    运行项目
    选择运行的设备
    删除下载的 zip 文件
    对比下你是不是这样的?这效率也太低了。

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

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

    git clone 项目地址
    用 sublime(或者 atom、vim)轻量级编辑器打开阅读源码
    用 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
    1
    上面那个 Android 的 demo 就可以直接安装到你的设备上了,是不是狂拽酷炫吊炸天?

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

    值得注意的是:

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

    gem install ruby

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

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

    有兴趣的不妨折腾下,不感兴趣的你该学会我的第二种方式,很实用,效率很高,你值得拥有!
    ---------------------
    作者:stormzhangV
    来源:CSDN
    原文:https://blog.csdn.net/googdev/article/details/52911742
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    数据结构-二叉搜索树
    多任务处理方式之一:多进程
    TCP并发服务器
    REST是什么?RESTFul又是什么?这二者的关系是怎样的?
    Python中的深浅拷贝的区别
    查找算法之 '二分法查找'
    排序算法之 '快速排序'
    CCS
    CCS
    CCS
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/10003268.html
Copyright © 2020-2023  润新知