美文网首页Android知识
配置Freeline,一秒编译android程序

配置Freeline,一秒编译android程序

作者: 龙龙有药 | 来源:发表于2016-11-24 09:33 被阅读0次

    1.原文链接:http://blog.ydxiaoyuan.com/wordpress/index.php/archives/83

    fackbook除了buck之后,一直期待在windows上有可以加速编译的工具,后来阿里出了freeline,第一次编译比较耗时,以后每次增量编译,基本是秒级编译。于是笔者也去整了一下,当然折腾的唯一理由是它支持windows。。。目前还在使用中,以后如果放弃再来补充。

    配置3部曲如下:

    1.安装python环境

    2.配置项目gradle文件,Application中实例化FreelineCore类

    3.配置&编译


    1.安装Python,并将其加入环境变量

    链接:https://www.python.org/downloads/

    注意:freeline只支持2.7.X版本

    参考:

    PATH结尾加入: ;C:\Python27

    运行python -v

    重启电脑后才能在android studio中运行python命令,不嫌弃麻烦的也可以自己找到对应的服务手动启动。

    2.配置gradle

    root :

    dependencies {

    classpath ‘com.android.tools.build:gradle:2.1.0’

    classpath ‘com.antfortune.freeline:gradle:0.8.1’ //加入这行代码

    }

    application moudle :

    apply plugin: ‘com.antfortune.freeline’              //加入这行代码

    android{

    …..

    //加入这3行代码

    freeline {

    hack true

    }

    }

    最底层的moudle 或者Application所在的moudle:

    dependencies {

    compile fileTree(dir: ‘libs’, include: [‘*.jar’])

    testCompile ‘junit:junit:4.12’

    compile ‘com.android.support:appcompat-v7:23.4.0’

    compile ‘com.antfortune.freeline:runtime:0.8.1’//加入这行代码

    }

    自定义的 Application:

    public class App extends Application {

    @Override

    public void onCreate() {

    super.onCreate();

    FreelineCore.init(this);//加入这行代码

    }

    }

    3.使用freeline编译项目

    第一次,需要进入当前工作目录下 执行:

    gradle initFreeline -Pmirror //这个是国内镜像会快很多

    windows如果没有将gradle加入环境变量,可以找到一个gradle,然后拖入命令行,这样gradle会自动找到路径。

    本人用时:17:37:39 开始 17:44:16结束,共计7分钟

    成功后命令行执行:

    python freeline.py

    第二次以后:

    python freeline.py

    小项目第一次打包3s以后800ms,中型项目25s,以后1s。具体使用情况以后再评。

    note:

    不要混淆代码

    总结:

    主项目:

    classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.5’

    freeline {

    hack true

    }

    子项目:

    apply plugin: ‘com.antfortune.freeline’

    compile ‘com.antfortune.freeline:runtime:0.8.1’

    application :

    FreelineCore.init(this);

    题外:生命在于折腾,使劲折腾吧,少年!

    相关文章

      网友评论

        本文标题:配置Freeline,一秒编译android程序

        本文链接:https://www.haomeiwen.com/subject/ccrbpttx.html