AndroidStudio 快速集成 秒级编译工具Freeline

2024-08-29 14:58

本文主要是介绍AndroidStudio 快速集成 秒级编译工具Freeline,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

      前段时间,由于项目工程较大,项目编译比较慢,一同事告诉我集成Freeline就会快很多。我百度了一下才发现,Freeline由蚂蚁金服开发的号称Android平台上的毫秒级编译工具,于是粗略研究了一下Freeline,这篇文章为大家简单介绍快速集成Freeline。

什么是Freeline?

Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案。它集成了 Google的Instant-Run 、LayoutCast以及Facebook的Buck的所有优点。它的编译速度比这些都快了许多。为我们节省了许多编译与安装的时间。总的来说就是一个字“”。

关于Freeline的原理可以阅读以下几个:

  • https://github.com/alibaba/freeline
  • Freeline - Android平台上的秒级编译方

Freeline快速集成

    在集成Freeline 之前我们必须搭建Python环境,因为项目每次用Freeline编译时,会执行python freeline.py。关于Python环境的搭建这里就不说了。

     Freeline的集成有两种方法,在线集成和离线集成,在线集成非常简单,只需要一下几个步骤:

1、首先我们需要安装AndroidStudio 的 Freeline插件。

依次点击Files/AndroidStudio -> Settings/Perferences -> Plugins -> Browns depositories ,搜索Freeline然后安装并重启,如下图所示:


安装完成后我们会在工具栏看到Freeline的图标,如下所示:


2、在项目级的build.gradle 文件中添加Freeline的依赖

3、在项目的主module的build.gradle中,应用Freeline插件的依赖


4、在AndroidStudio的Terminal用命令行下载freeline的python和2进制依赖

Windows:gradlew  initFreeline

MacOS: ./gradlew  initFreeline

下载Freeline 没翻墙的话有点慢,在命令后加上 -Pmirror    如我的是MacOS,我们初始化时输入命令./gradlew  initFreeline  -Pmirror 这样就会快很多。


执行完成后就集成好了Freeline ,如下所示,第一次编译一个项目只用了42s


 

Freeline离线集成

    Freeline离线集成就是将所需要的依赖以module的形式添加到本地项目中,如下所示我们在线添加依赖后,项目的依赖里会有runtime。

    我们离线集成就是将runtime以module的形式导入项目中,去掉我们在项目级build.gradle中添加的依赖,在setting.gradle中添加runtime,然后在主module中引用就行了。


这篇关于AndroidStudio 快速集成 秒级编译工具Freeline的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118182

相关文章

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模