Android秒级编译方案-Freeline集成和使用过程中的一些问题和解决方案

来源:互联网 发布:惠州网络问政阳光清单 编辑:程序博客网 时间:2024/06/07 11:13

      • 一关于Freeline的介绍和集成方法本篇就不再介绍了
      • 二Freeline集成过程中可能遇到的一些问题和解决方案
      • 三Freeline的注意事项
      • 四使用过程中遇到的问题和解决方法
      • 五总结

一、关于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的出现确实使开发效率得到了很大提升。

原创粉丝点击