浅谈蚂蚁聚宝Android秒级编译

简介: 本文PPT来自蚂蚁金服高级技术专家栾砚强于10月14日在2016年杭州云栖上发表的演讲,分享主题为《蚂蚁聚宝Android秒级编译介绍——Freeline》。

本文PPT来自蚂蚁金服高级技术专家栾砚强于10月14日在2016年杭州云栖上发表的演讲,分享主题为《蚂蚁聚宝Android秒级编译介绍——Freeline》。

传统的Android应用构建在Buck、LayoutCast、Instant Run上均存在一些弊端。例如,入侵性强,接入成本高,需要安装全量包,以子任务为单位做增量资源全量替换,没有实现增量,资源不支持新增,没有利用缓存或者并发,

不支持4.x等等。今天,蚂蚁金服高级技术专家栾砚强向我们介绍蚂蚁聚宝Android秒级编译。

Freeline核心思想包括:多任务并发,多级缓存,增量范围最小化,基于长链接无安装式运行期动态替换,基线对齐触发机制,可调试和独立进程。这其中,无安装式动态替换包括:无安装式动态替换,基线包版本,sdk版本号,资源增量支持,Activity栈,独立进程长链接和基线对齐触发机制。

资源增量作为技术难点,增量包资源id怎么兼容基线包资源id?怎么样高效构建出仅仅包含变更集合的资源包?怎么样在手机端让上面构建的增量包生效等一些问题均在Freeline中得到了解决。手机端生效后,Freeline各方面性能均表现出色。Freeline实现了开源,期盼与技术极客共创。应用场景有线上热修复等。另外,Freeline的前瞻规划包括:注解的支持(databindingButterKnife等),多设备支持,稳定性提升以及AAPT2。052a3f2c7d99a59d316e2608b42baa6f363a52ac144e7cf4880f909da0e3d2d7c9cd9d827fd1bc944db7115973f4ac48b94a169ad187a6144afd16a80e2cedc345a868cc40d1bb486043b4fba247f2c4a818c7509061ebe1570aa3f31ac1472626271e882fb576895cd70ad7cbc74834558905f361b10ddf2685e8143371be85c1fd63837edd52a166e63331606d905f2cdc32fab4e79445d2859eeb705a6097576d796785df95b8bc6e96bcef34e7fa835d8dbd7420af417b657ef6a4dedf83dc6ac6de7fc24b8bbc66f3db483e0e59c3ad796d73e2219a3b70f20c38f2f22f20458bf1563e8119db4be7558bcbb5d531ff9597fbfce0f4ca265e9632d910ee032b074891e18150090e1d5e901721233711c459770d0fbaf4caf6456d169541b2b168a72cb51e7d07e5c4b3116e0bdb916294c5265b2a161626c4f676f6b56394e069bd8afdaa46da4595efcaaf12ad64e4aa14acf8c5516cfaedc82040a1d77fa3fd399cd279573fb6061d3780ef3d90ca26d092d10827f672506d5979416002a25216a569fba6e29ffe9817080c058769ad66e3670f04359245402074741dab2e2b9b1dc1eafafab472093508cad69371bad5d46d51bd

相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
215 1
|
17天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
64 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
28天前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
28天前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
3月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
106 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
3月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
146 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
3月前
|
Ubuntu 开发工具 Android开发
Repo下载、编译AOSP源码:基于Ubuntu 21.04,android-12.1.0_r27
文章记录了作者在Ubuntu 21.04服务器上配置环境、下载并编译基于Android 12.1.0_r27版本的AOSP源码的过程,包括解决编译过程中遇到的问题和错误处理方法。
146 0
|
开发工具 Android开发 iOS开发
|
Java Linux 开发工具
android 编译过程
引用:http://www.cnblogs.com/devinzhang/archive/2011/12/20/2294686.html http://blog.sina.com.cn/s/blog_7bee201901013nkk.html Android工程的编译过程 现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统、自动生成发布文件等等。
997 0
|
Java 开发工具 Android开发