Android 秒级编译框架配置过程 --Freeline
来源:互联网 发布:java格式化日期24小时 编辑:程序博客网 时间:2024/05/19 20:39
Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想, 并对代码及资源编译流程做了深入的性能优化。
具体原理请查看:https://yq.aliyun.com/articles/59122?spm=5176.8091938.0.0.1Bw3mU
github: https://github.com/alibaba/freeline
配置步骤:
1.配置project-level的build.gradle,加入freeline-gradle的依赖:
buildscript { repositories { jcenter() } dependencies { classpath 'com.antfortune.freeline:gradle:0.8.2' }}
2. 在你的主module的build.gradle中,应用freeline插件的依赖:
apply plugin: 'com.antfortune.freeline'android { ...}
3. 在命令行执行以下命令来下载 freeline 的 python 和二进制依赖。
Windows[CMD]: gradlew initFreelineLinux/Mac: ./gradlew initFreeline
对于国内的用户来说,如果你的下载的时候速度很慢,你也可以加上参数,执行gradlew initFreeline -Pmirror,这样就会从国内镜像地址来下载。
你也可以使用参数-PfreelineVersion={your-specific-version}来下载特定版本的 freeline 依赖。
如果你的工程结构较为复杂,在第一次使用freeline编译的时候报错了的话,你可以添加一些freeline提供的配置项,来适配你的工程。具体可以看Freeline DSL References。https://github.com/alibaba/freeline/wiki/Freeline-DSL-References
4.安装Freeline插件,在Android Studio中,通过以下路径Preferences → Plugins → Browse repositories,搜索“freeline”,并安装. 安装好后会在工具栏出现如下图所示按钮
5.在工程根目录下执行一次全量编译
python freeline.py -f
!!!!!!!!!这步很重要,如果不执行,否则当你点击Freeline按钮时会报错,错误内容如下:
Traceback (most recent call last): File "freeline.py", line 49, in <module> main() File "freeline.py", line 45, in main freeline.call(args=args) File "freeline.py", line 20, in call self.dispatcher.call_command(args) File "/Users/hiperion/AndroidStudioProjects/Bloomsky/freeline/freeline_core/dispatcher.py", line 57, in call_command self._exec_command(self._command) File "/Users/hiperion/AndroidStudioProjects/Bloomsky/freeline/freeline_core/dispatcher.py", line 100, in _exec_command '[WARNING] some important file missed, a clean build will be automatically executed.') File "/Users/hiperion/AndroidStudioProjects/Bloomsky/freeline/freeline_core/dispatcher.py", line 125, in _retry_clean_build self._setup_clean_build_command(is_build_all_projects=False)TypeError: _setup_clean_build_command() takes exactly 3 arguments (2 given)
我已经给官方提了issue,很快得到了响应,正在修复中
issue详细请点击这里
6.现在就可以点击工具栏安装好的插件进行秒级增量编译了。
Enjoy!
0 0
- Android 秒级编译框架配置过程 --Freeline
- android 秒级编译freeline,部署过程
- Android 秒级编译 Freeline
- ANDROID 秒级编译 FREELINE
- Android 秒级编译 Freeline
- Android 秒级编译Freeline
- Android 秒级编译 Freeline
- Android 秒级编译 Freeline
- Freeline秒级编译
- Android秒级编译工具Freeline应用
- FreeLine实现Android的秒级编译
- Android秒级编译方案-FreeLine
- Android秒级编译方案-Freeline集成和使用过程中的一些问题和解决方案
- 秒级编译工具freeline
- Android秒级编译Freeline的使用(Android Studio)
- Freeline - Android平台上的秒级编译方案
- Freeline - Android平台上的秒级编译方案
- Freeline - Android平台上的秒级编译方案
- rsync核心算法介绍及应用探索
- android 基于jsBridge实现js交互时对webview监听onPageStarted及onPageFinished
- Android6.0权限申请-代码自动插入
- leetcode-10. Regular Expression Matching
- Windows10自适应和交互式toast通知
- Android 秒级编译框架配置过程 --Freeline
- iOS定时器,指定时间后触发。
- ssh传输文件
- ioS应用性能调优的25个建议和技巧(8)
- linux命令持续学习
- Android开发-------设置系统状态栏颜色
- 极光推送 推送处理总结 点击通知跳转
- IBM管网DataStage数据整合学习参考地址
- LCD和VS6760分辨率设置