Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想, 并对代码及资源编译流程做了深入的性能优化。 具体原理请查看:https://yq.aliyun.com/articles/59122?spm=5176.8091938.0.0.1Bw3mU
github: https://github.com/alibaba/freeline
配置步骤:
对于国内的用户来说,如果你的下载的时候速度很慢,你也可以加上参数,执行gradlew initFreeline -Pmirror,这样就会从国内镜像地址来下载。
你也可以使用参数-PfreelineVersion={your-specific-version}来下载特定版本的 freeline 依赖。
如果你的工程结构较为复杂,在第一次使用freeline编译的时候报错了的话,你可以添加一些freeline提供的配置项,来适配你的工程。具体可以看Freeline DSL References。https://github.com/alibaba/freeline/wiki/Freeline-DSL-References
!!!!!!!!!这步很重要,如果不执行,否则当你点击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详细请点击这里
Enjoy!