美文网首页week.ioAndroidk开发合集Android知识
进一步提升AS编译速度的Freeline尝鲜

进一步提升AS编译速度的Freeline尝鲜

作者: 小呀么小黄鸡 | 来源:发表于2016-12-07 11:21 被阅读370次

今早看了来自StormZhang的微信公众号的文章——Android 秒级编译 Freeline,就决定来尝尝鲜

相关链接

  1. github地址
  2. 中文README
  3. 微信公众号的文章
  4. Python 2.7.12 下载
  5. freeline.zip

正常流程:

  1. gradlew initFreeline -Pmirror
  1. 在Android Studio中,通过以下路径Preferences → Plugins → Browse repositories,搜索“freeline”,并安装。
  2. 直接点击Run Freeline的按钮

Sample Usage

cd freeline/sample
./gradlew initFreeline
python freeline.py```

可惜我每次接触新东西都要费一番周折

我的安装过程

首先需要安装Python,此处务必使用Python2.+版本,文章中没有指明我就顺理成章地踩到了这个坑
另外Python安装过程可以设置自动添加到Path,真是贴心。

再到AS项目中

配置project-level的build.gradle,加入freeline-gradle的依赖:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.antfortune.freeline:gradle:0.8.3'
    }
}

然后,在你的主module的build.gradle中,应用freeline插件的依赖:

apply plugin: 'com.antfortune.freeline'
android { ...}

一切都感觉很自然直到在Terminal中运行了gradlew initFreeline
遇到了issues/25
公司网络问题导致freeline.zip无法成功下载,只好告别gradlew initFreeline命令

解决方法

借助以下两个issue
issues/345
issues/348
手动下载了freeline.zip,将freeline、freeline_core、freeline.py解压到项目根目录下,当然也别忘了设置JAVA_HOME
依次进行以下操作

  1. clean project
  2. gradlew checkBeforeCleanBuild
  3. freeline.py -f

另外还有些注意事项是我有确切体会的:

  1. 第一次增量资源编译的时候有点慢,之后的编译就快了,这很正常;
  1. 不支持多设备同时连接,也就是说不管是模拟器还是真机,只允许同时一台设备连接,否则会失败;
  2. 不支持删除带 id 的资源,否则可能导致 aapt 编译出错;
  3. 如果你的项目又想用 Freeline,又想使用 Gradle,记得执行 Gradle 脚本之前先执行 ./gradlew clean,否则会编译失败;
  4. 不要忘记把产生的文件加入到.gitignore中去,环境还是每个人自行配置来得好,保持工程的纯净也是很重要的;
  5. 最后一点也是最重要一点,通过Freeline应用更改不一定会自动启动被更新的应用[二哈]。

相关文章

网友评论

  • 王元_Trump:为什么我用了freeline了 我的项目运行不走我自己的application类了 所以运行就是空指针直接闪退 吓得我立马删了插件 不知道你们有没有遇到过这个问题
    小呀么小黄鸡:@王元_Trump 是按照步骤来的吗 在freeline前clean project 比较保险,我的application放在别的module里面 运行也是正常的 也有可能是需要Multidex

本文标题:进一步提升AS编译速度的Freeline尝鲜

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