ANDROID 秒级编译 FREELINE

Freeline是一款由蚂蚁金服开发的Android增量编译工具,能够在几秒内完成代码改动的编译与部署,显著减少日常开发中的编译与安装耗时。支持跨平台运行,提供真增量构建,体积小,速度快,比Android Studio 2.0及LayoutCast快3~5倍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自http://stormzhang.com/2016/12/02/android-seconds-build-freeline/

什么是 Freeline?

Freeline 是蚂蚁金服旗下平台蚂蚁聚宝 Android 团队开发的一款针对 Android 平台的增量编译工具,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时,现已开源。

稳定性方面:完善的基线对齐,进程级别异常隔离机制。

性能方面:内部采用了类似 Facebook 的开源工具 buck 的多工程多任务并发思想:端口扫描,代码扫描,并发编译,并发 dx,并发 merge dex 等策略,在多核机器上有明显加速效果,另外在 class 及 dex,resources 层面作了相应缓存策略,做到真正增量开发,另外引入并优化 buck 的部分加速组件 dx,DexMerger,资源编译方面,深入改造了 Aapt 资源编译流程,当资源发生改变时候,秒级完成增量包编译,其中增量包仅含最小的变更集合(10Kb~数百Kb内),后期也被运用到线上进行资源/代码动态替换。相比目前 instant-run,buck,layoutcast 等方案快数倍速度。

有何优势?

真增量,构建过程快且增量包体积小,极大提升更改代码部署到手机速度,较 Android studio 2.0 及 LayoutCast 快 3~5 倍
跨平台 Linux,mac,windows
全版本覆盖 2.x ~ 6.x版本均支持
部署流程简化,更改代码后,构建过程中,与手机建立了 tcp 长连接,一行命令即可完成增量部署,毋需到各自子 bundle 所在的目录构建完成后再进入 portal/launcher 进行打包再安装到手机的过程
事务支持,在开发过程引入的异常不会破坏工作空间
无缝支持 mPass,解决了类似 maven 各个节点需 merge 合并等与常规开发流程不一致的问题
进程级别异常隔离,开发体验持续稳定
支持的功能
支持标准的多模块Gradle工程的增量构建
并发执行增量编译任务
进程级别异常隔离机制
支持so动态更新
支持resource.arsc缓存
支持retrolambda
支持DataBinding
支持各类主流注解库
支持Windows,Linux,Mac平台
如何使用?

  1. 首先你的电脑上应该安装 Python

  2. studio配置
    这里写图片描述
    这里写图片描述

在 Android Studio 中,通过以下路径 Preferences → Plugins → Browse repositories,搜索“freeline”,并安装,之后你会看到工具栏有如下按钮:
这里写图片描述

使用下来有以下注意事项:
第一次增量资源编译的时候有点慢,不过也就在第一次的时候慢,后面速度蹭蹭的;
如果设备上之前有安装不是用 Freeline 编译打包的 apk,请先卸载,之后再用 Freeline 编译打包;
第一次 Freeline 编译安装之后不会自动启动 App,这点请大家注意下,因为第一次我一直在等待,等了好久以为没成功,后来才发现其实安装成功了的,只是没有打开而已;
不支持多设备同时连接,也就是说不管是模拟器还是真机,只允许同时一台设备连接,否则会失败;
不支持删除带 id 的资源,否则可能导致 aapt 编译出错;
如果你的项目有使用 Kotlin 语言,那么 Freeline 不支持;
如果你的项目又想用 Freeline,又想使用 Gradle,记得执行 Gradle 脚本之前先执行 ./gradlew clean,否则会编译失败;
总体而已 Freeline 会有一些限制,以及兼容性可能也会有点问题,但是试用下来没遇到多大的问题,而且对于调试的效率提升简直太大了,值得推荐给大家!

内容概要:文章详细介绍了电梯门禁(梯控)系统的硬件安装与接线要点。首先强调了梯控板与楼层按键对接的重要性,包括遵循一一对应原则以避免错层、越层问题,允许空层存在以适应实际需求。接着阐述了不同接线方式(COM、NO、NC端口的不同组合)对用户权限的影响,如单层权限用户刷卡直达指定楼层,多层权限用户在特定接线方式下的操作限制。硬件安装方面,强调了无源干触点设计原则以确保电气隔离,防止系统间干扰,以及读卡器接入时的规范要求。文章还介绍了梯控系统的技术原理,如身份验证机制(二维码/IC卡/人脸识别)、消防联动功能(紧急情况下释放所有楼层权限),并指出该系统适用于小区、写字楼等场景,支持机器人乘梯SDK扩展。最后,根据不同场景需求提出了适用的接线方式选择,如严格管控场景下选择4.3接线以实现精准权限控制,限制多层用户手动选层场景下选择4.1接线并配合软件权限设置。; 适合人群:从事电梯安装维护的技术人员、楼宇自动化工程师及相关领域的管理人员。; 使用场景及目标:①指导技术人员正确安装和接线梯控系统,确保系统安全稳定运行;②帮助管理人员了解不同接线方式对用户权限的影响,以便根据实际需求选择合适的配置方案;③提升楼宇安全管理和服务质量,特别是在小区、写字楼等场所的应用。; 其他说明:梯控系统的正确安装和接线不仅关系到系统的正常运作,更直接影响到用户的安全和使用体验。因此,在实际操作中务必严格按照规范执行,同时关注最新的技术发展和应用场景变化,以确保系统始终处于最佳状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值