写在前面
Freeline是采用Python编写的,所以我们需要安装Python环境,当我们选择Python环境的时候,一定要下载2.7+版本的,不能使用其他版本的,楼主最开始下载的是3.6版本的,倒腾了1个多小时都没成功,特此说明。
1.freeline简单介绍
Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想, 并对代码及资源编译流程做了深入的性能优化。
具体原理请查看:https://yq.aliyun.com/articles/59122?spm=5176.8091938.0.0.1Bw3mU
github: https://github.com/alibaba/freeline
2.配置步骤:
①.配置project-level的build.gradle,加入freeline-gradle的依赖
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.antfortune.freeline:gradle:0.8.6'//加入freeline-gradle的依赖
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
②
在你的主module的build.gradle中,应用freeline插件的依赖:
apply plugin: 'com.android.application'
apply plugin: 'com.antfortune.freeline'//加入freeline插件的依赖
android {
...}
③
在命令行执行以下命令来下载 freeline 的 python 和二进制依赖
Windows[CMD]: gradlew initFreeline
Linux/Mac: ./gradlew initFreeline
对于国内的用户来说,如果你的下载的时候速度很慢,你也可以加上参数,执行gradlew initFreeline -Pmirror,这样就会从国内镜像地址来下载。
下载过程如下,会有好多 ..... 出现
如果觉得网速太慢,还可以直接访问gradle官网,即图上的那个网站,去下载对应的压缩包,解压后放在默认的下载目录中,即
④
安装Freeline插件,在Android Studio中,通过以下路径Preferences → Plugins → Browse repositories,搜索“freeline”,并安装. 安装好后会在工具栏出现如下图所示按钮
⑤在工程根目录下执行一次全量编译
进入项目目录,shift加右键
打开命令行,输入一下代码进行全量编译
python freeline.py -f
也可以使用freeline插件
左边五个图标依次对应于
1. 每次编译时就点这个按钮就可以增量编译了,对应命令是:Python freeline.py
2. 停止freeline编译
3. 进行调试编译 对应命令是: python freeline.py -d
4. 全量编译 对应命令是: python freeline.py -f
5. 清屏按钮
2. 停止freeline编译
3. 进行调试编译 对应命令是: python freeline.py -d
4. 全量编译 对应命令是: python freeline.py -f
5. 清屏按钮
现在再说下python命令对应可选参数的说明:
python freeline.py -d
可选参数:
-h, –帮助 显示帮助信息并退出
-v, –版本 显示版本信息
-f, –cleanBuild 强制执行一次 clean build
-w, –等待 让应用程序等待 debugger
-a, –全部 在所有工程上强制执行clean build 并执行-f全量编译
-c, –清空 清空缓存目录和工作空间
-d, –调试 打开debug模式
-i, –初始化 对工程进行进行freeline初始化配置
python freeline.py -d
可选参数:
-h, –帮助 显示帮助信息并退出
-v, –版本 显示版本信息
-f, –cleanBuild 强制执行一次 clean build
-w, –等待 让应用程序等待 debugger
-a, –全部 在所有工程上强制执行clean build 并执行-f全量编译
-c, –清空 清空缓存目录和工作空间
-d, –调试 打开debug模式
-i, –初始化 对工程进行进行freeline初始化配置
参考相关链接:http://blog.youkuaiyun.com/ocean20/article/details/53215304