AS 关于Freeline的正确使用姿势

一直听说 Freeline 可以秒编,不用不知道。用了吓一跳。
当然除了它的速度惊人之外,当然,它的坑也相当惊人。

首先我们来看先官方的一些东西,以及配置。

Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。
Freeline能够为Android开发者节省很多喝杯咖啡的时间 : )

Freeline Insights

Freeline将整个编译过程拆分成多个小模块,根据模块间的依赖关系并发进行编译任务。它可以对所有编译缓存文件做到充分地利用,真正地做到了“增量”编译。同时,它也提取了buck的部分组件(dx与DexMerger),来加速构建流程。Freeline会在app运行时启动一条独立进程来运行Socket Server以进行开发机与app的通信,同时也能确保即使在app出现crash之后,仍然能够使增量编译持续生效。
Freeline是通过multi-dex的方案来实现Java代码的增量更新的。与此同时,我们也专门对aapt工具做了深度优化,给出了独立的FreelineAapt资源打包工具用来生成增量的资源包以及加快资源包的打包速度。运行期的资源替换,Freeline中使用了Instant-Run的方案。除此之外,Freeline也支持运行期动态更新so文件。
Freeline会根据代码文件的变更情况,自动在全量编译与增量编译中进行切换。
实际上,Freeline可以在经过简单的改造之后,作为线上热修复方案,通过动态下发增量资源,来对应用进行修复或者资源替换。经过压缩后的增量资源通常都会在100kb以下,用户可以在移动网络的环境下直接接收到热补丁。蚂蚁聚宝已经基于Freeline打造了完整的热修复框架,应用于线上问题修复以及A/B Test。

配置及依赖

配置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 {
...
}

最后,在命令行执行以下命令来下载 freeline 的 python 和二进制依赖。

    * Windows[CMD]: gradlew initFreeline
    * Linux/Mac: ./gradlew initFreeline

    对于国内的用户来说,如果你的下载的时候速度很慢,你也可以加上参数,执行 gradlew initFreeline -Pmirror ,这样就会从国内镜像地址来下载。
你也可以使用参数 -PfreelineVersion={your-specific-version} 来下载特定版本的 freeline 依赖。
    如果你的工程结构较为复杂,在第一次使用freeline编译的时候报错了的话,你可以添加一些freeline提供的配置项,来适配你的工程。具体可以看Freeline DSL References。
Usage
Freeline最快捷的使用方法就是直接安装Android Studio插件。
在Android Studio中,通过以下路径Preferences → Plugins → Browse repositories,搜索“freeline”,并安装。

直接点击  Run Freeline 的按钮,就可以享受Freeline带来的开发效率的提升啦(当然,你可能会先需要一个较为耗时的全量编译过程)。
插件也会提示你Freeline最新的版本是多少,你也可以通过插件来对Freeline进行更新。
非常感谢 @pengwei1024 和 @act262 帮助我们开发了这个非常棒的Freeline插件。
除此之外,你也可以通过在命令行执行python脚本的方式来使用Freeline,具体可以看我们的相应的链接Freeline CLI Usage。

以上是官方给出的使用方法,那么你以为真的那么简单吗?(好单纯哦,世上居然有比我还单纯的人。难得)

跟我来一起用正确的姿势来打开它吧

步骤:

  1. 首先检查你的 minSdkVersion ,freeline只支持14以上的版本使用。如果你的sdk低于14最好还是把它改为 大于等于14的。如果你真的不能修改那就必须在 manifest 添加如下代码
    tools:overrideLibrary=”com.antfortune.freeline”

  2. 然后根据官方的方式在根 gradle 也就是
    这里写图片描述
    project 的 gradle 中添加 classpath ‘com.antfortune.freeline:gradle:0.8.3’
    这里写图片描述

  3. 接着在 app 的 gradle 中添加 apply plugin: ‘com.antfortune.freeline’
    这里写图片描述
    记得放在第二行就可以了。

  4. 最后到你的 Application 类中 在onCreate()下的第一行 添加 FreelineCore.init(this);

  5. 配置完成。

由于 freeline 是依赖 python 使用的,所以你还必须 到 www.python.org 下载 python 2.7.XXX 反正是2.7的就行,别问我为毛要用2.7的。因为freeline暂时只能在2.7下运行

好了,当你完成了以上的操作那么 你已经离成功不远了。剩下的就简单多了。

  • 打开你 AS 下的Terminal 执行 gradlew initFreeline -Pmirror (当然你也可以直接执行gradlew initFreeline) 这时候你就可以去泡杯咖啡慢慢的等待下载了。如果中间中断了,不要怕,不要慌。
  • 只要重新执行 gradlew initFreeline -Pmirror 就好了。

经过耐心的等待终于下完之后,你就可以在 Terminal 中使用命令行运行 freeline 了。当你已经一切正常,可以运行之后,就可以 安装 freeline 给出的 android studio 插件了。

之后再使用只需要用力的往 freeline 小图标上点下去 就可以省去了输入命令的步骤。是不是很方便?

欢迎大神纠正
感谢

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值