1.引言
Android 工程假如稍微大点的话,一次小小的改动,重新编译运行快则十几秒,慢则几分钟。很耽误时间。今天在qq群中看到一位老兄问freeline的问题,我不清楚,然后百度了一下,原来是一个快速编译的插件。花了一上午的时间集成了一下。在放弃的前一刻集成好了。在此做一个小小的记录。
2.正题
我使用的环境:
jdk 1.8
android studio 2.2
gradle 版本 2.14
python版本 2.73(注意目前只支持2.x版本,不支持3.x版本)。
project 的build.gradle 配置
classpath 'com.antfortune.freeline:gradle:0.8.7'
app的 build gradle 如下:
然后加入如下的依赖:
debugCompile 'com.antfortune.freeline:runtime:0.8.7'
releaseCompile 'com.antfortune.freeline:runtime-no-op:0.8.7'
testCompile 'com.antfortune.freeline:runtime-no-op:0.8.7'
之后创建Application文件:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FreelineCore.init(this);
}
}
别忘记在manifest文件中加入name。
然后下载python 传送门:python下载(切记:下载2.x版本)
下载好python之后,尝试着在cmd下,看看能不能执行"python"命令。假如不能,在path路径下 加入python的路径。
在as中下载freeline插件。
3.编译项目
在项目的命令行中输入
gradlew initFreeline -Pmirror
这个是下载freeline相关的文件。下载成功之后如下:
然后输入如下指令编译整个项目,编译成功之后是自动通过adb指令安装apk到手机中,这个过程有点久。
python freeline.py -f
截图如下:
更改程序之后,可以直接按如下图所示的按钮,就可以直接更新,速度的确提高了很多。
。
在写这个博客的时候,我从新集成这个插件的时候。。按了如上图所示的按钮之后,程序没得反应了,于是退出然后在进入,然后在按,就没得问题了。。总之第一次部署的时候 一键化 不起作用,就直接用命令行。
遇到的坑:
adb 无法按照apk,提示unknow service。于是上网搜索 说是5037端口被占用了。但是查看端口 发现没得什么应用占据了5037。但是网上大多数说是360手机助手什么的占据了。打开任务管理器一看 的确有这个。抱着试试的心态 。结束360手机助手进程 于是adb 就能安装apk了。。
这个插件的确很有用,能节约不少的时间。