浅谈蚂蚁聚宝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

相关文章
|
6月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
449 1
|
4月前
|
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开发知识可参考相关书籍。
142 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
4月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
4月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
6月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
351 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
6月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
465 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
6月前
|
Ubuntu 开发工具 Android开发
Repo下载、编译AOSP源码:基于Ubuntu 21.04,android-12.1.0_r27
文章记录了作者在Ubuntu 21.04服务器上配置环境、下载并编译基于Android 12.1.0_r27版本的AOSP源码的过程,包括解决编译过程中遇到的问题和错误处理方法。
368 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工程的编译和打包进行自动化,比如建立每日构建系统、自动生成发布文件等等。
1027 0
|
Java 开发工具 Android开发

热门文章

最新文章

  • 1
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
  • 2
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 4
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 5
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 6
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 7
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 10
    Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)