声明:本文为个人集成中遇到的坑及问题集锦,希望对你有帮助,官方文档很详细,本文就不再Copy
概念:Freeline 是 Android 平台上的秒级编译方案,Instant Run 的替代品。Freeline 由蚂蚁聚宝 Android 团队开发,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。
关于他的优点啊特点啊。。官网介绍的很详细。我想没必要抄过来了
具体介绍看官网吧,地址:FreeLine github地址,官网地址
集成步骤
- 配置 project-level 的 build.gradle,加入 freeline-gradle 的依赖:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.antfortune.freeline:gradle:0.8.5'
classpath 'com.android.tools.build:gradle:1.3.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'//AA插件
}
}
allprojects {
repositories {
jcenter()
}
}
- 主 module 的 build.gradle 中,应用 freeline 插件的依赖
apply plugin: 'com.android.application'
apply plugin: 'android-apt'//基于ButterKnife插件
apply plugin: 'com.antfortune.freeline'
android {
......
}
- 到这里,我们点击Sync now
- 最后,在命令行执行以下命令来下载 freeline 的 python 和二进制依赖。如果你的gradle设置了路径可以在Androidstudio 的Termial执行,如果没有请切换到项目目录下
- Windows[CMD]: gradlew initFreeline
- Linux/Mac: ./gradlew initFreeline
我们国内用户最好用镜像下载: 执行:gradlew initFreeline -Pmirror 命令
因为个人工程结构比较简单,所以设计到复杂结构工程,引用官网的一句话
如果你的工程结构较为复杂,在第一次使用 freeline 编译的时候报错了的话,你可以添加一些 freeline 提供的配置项,来适配你的工程。常见问题
- 如果设备上之前装有Instant Run 安装的app,请先卸载。然后 gradlew clean 下工程。然后用Freeline 执行全量编译 python freeline.py -f 全量编译比较耗时。
- 修改下代码,用命令 python freeline.py 增量编译。看下具体时间吧。到这基本就能正常使用了。确实很爽.....
注意事项:
- 首先用Freeline 你的电脑必须装python 目前Freeline 支持 Python2.7+ 不支持3+ 请注意(官方文档有详细说明)
- 尽量将你依赖的其他库升级到最新版本。本人就遇到 retrolambda库不是最新版本无法兼容问题报错。
- 我这里特意比官方多了几个步骤。这里是为了避免一些不必要的错误。在github 的 issuse 中有详细描述。
网友评论