Freeline使用攻略
从今天开始将学习至今的笔记(杂乱,碎片)转为博客(排版 截图好麻烦…),一方面反哺社群,另一方面整理笔记巩固知识
进入主题:
- freeline简介
- 接入准备
- 如何配置
- 遇到的坑
1. freeline简介
freeline极大加快了编译速度,平时编译+安装需要四五分钟,现在只要四五秒…灰一般的感觉0.0 编程的进步是由少数人推动的,膜拜~
2. 接入准备
你的jdk版本不应该低于1.8.x
同时修改项目使用的jdk路径(不要使用AS自带的):右上角 File–>Project Structure
2.1安装python
安装2.7.xx的就好:
python2.7.12 win7 64位
同时配置环境变量 自行百度~
2.2安装Gradle3.0-all
Gradle下载
–完整的gradle包 十分关键,否则在接下来的初始化过程中,你将被祖国的绿坝拦住~,卡在gradlew initFreeline -Pmirror很久很久~,仿佛被水淹没不知所措,另外gradle也需要配置环境变量
2.2.1如何安装gradle3.0-all?
推荐直接解压到AndroidStudio下的gradle目录:
3如何配置
首先修改项目编译的gradle,就是先前解压的gradle3.0
3.1 项目buile.gradle添加buildscript下的freeline依赖:
可定期去官网查看新的版本
如: com.antfortune.freeline:gradle:0.8.6
3.2 主模块buile.gradle的配置
应用插件 apply plugin: ‘com.antfortune.freeline’
接着在依赖里添加freeline
compile ‘com.antfortune.freeline:runtime:0.8.6’
依赖里的freeline版本必须和build脚本里的freeline版本一致
依赖里的freeline版本必须和build脚本里的freeline版本一致
依赖里的freeline版本必须和build脚本里的freeline版本一致
同时 若主模块使用了productFlavors,则需要
在主模块加上:
android {
...
freeline {
hack true
productFlavor '你配置的falvor名称'
}
....
}
3.3Application里的配置
@Override
public void onCreate()
{
super.onCreate();
FreelineCore.init(this);
3.4初始化Freeline
3.4.1terminal里输入gradlew initFreeline -Pmirror (前提是先下载gradle3.0 all,否则极易卡住)等待配置文件下载完成(2-7分钟)
3.4.2 全量编译
连接测试机 terminal输入
python freeline.py -f 进行强制增量编译 这个操作会在设备上安装app速度较慢90s左右) (貌似只要断开连接,下次再连接设备时就必须先执行python freeline.py -f打全量包安装到设备上,再使用python freeline.py来增量编译
3.4.3 增量编译
3.4.2执行完app已经成功安装,改动代码后可以使用命令行:
python freeline.py 来进行增量编译,五秒内完成= =嗷呜~
3.4.4安装freeline插件
如果你不想每次都手动输入python freeline.py -f python freeline.py可以安装插件 ,右上角File–setting–Plugins–输入Freeline
4遇到的坑
4.1如何设置断点
![这里写图片描述]
先点击上方的
点击上方红圈起来的按钮,然后选择名称为包名的那个选项,一般就是第一个 然后就可以使用断点了
4.2python freeline.py无法连接上测试机
https://github.com/alibaba/freeline/issues/152 (排查)
https://github.com/alibaba/freeline/issues/531
[sync_client] try to connect device 9 times...
[DEBUG] [sync_client] wake up Service: D:\software\Android\android_sdk\platform-tools\adb.exe shell am startservice -n com.****.***/com.antfortune.freeline.FreelineService -e wakeup marker
==1.连接设备 然后python freeline.py -f,安装全量包(这个而操作会在设备上安装app),
==若1不生效,重启AS在试一次
拆卸掉测试机上的原有包