一、关于Freeline的介绍和集成方法本篇就不再介绍了
二、Freeline集成过程中可能遇到的一些问题和解决方案
- 1.关于安装python环境,freeline 只支持2.7.X版本 的python,所以有任何关于python的问题,请命令行下输入python -v 检查版本
- 2.如果执行初始化命令gradlew initFreeline时,Freeline报当前版本不是最新版本的警告,请直接按照警告中提供的参考命令初始化指定版本的Freeline
- 3.目前的最新版本0.8.7在下载过程中可能会出现连接超时的情况,可以在project-level的gradle文件中将python版本改为其他低版本,如0.8.3
- 4.在Freeline编译过程中出现gradle报找不到某方法的时候,这个根本原因是gradle的版本过低,我这里换成2.14.1就好了
- 5.基于问题4,如果gradle版本升为2.0+,且项目之前有dex分包,那么Android Studio2.0以上可能会报错,请参考最新的patchKeepSpecs()方法Too many methods in main-dex?(可能需要梯子)
三、Freeline的注意事项
- 1.不支持删除带id的资源,会报错
- 2.暂不支持抽象类的增量编译
- 3.如果之前安装的不是用 Freeline 编译打包的 apk,先卸载,再用 Freeline 编译打包
- 4.不支持多设备同时连接,否则会失败;
- 5.freeline的编译与as的编译应该是不兼容的,会报错,所以两者如果发生切换必须先Clean Project
- 6.freeline版本发生升级,务必需要执行gradle initFreeline -Pmirror下载新版本资源
四、使用过程中遇到的问题和解决方法
- 1.对资源文件进行操作,可能发生资源文件的错乱(少数情况),这个还是很尴尬的,这种情况只能手动全量更新了 python freeline.py -f
- 2.针对第1条,有个小窍门:如果只是更新布局文件,请在java文件中也改动下(加|减 个空格即可),这样就不用执行全量更新了。
- 3.如果执行增量编译命令后,没有刷新页面,或者卡在了白色页面(building increment app),那么请在java中加个空格吧。
五、总结
虽然美中存在一些不足,但是相对于以前龟速般的编译,Freeline的出现确实使开发效率得到了很大提升。