上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

当插件化遇上Android P.pdf

编号:95521 PDF 28页 18.60MB 下载积分:VIP专享
下载报告请您先登录!

当插件化遇上Android P.pdf

1、当插件化遇到 Android P京东商城目录CONTENTSAndroid P 禁令01Android App Bundles02路在何方03京东架构升级和重构04解密关键技术点05目录CONTENTSAndroid P 禁令01Android App Bundles02路在何方03京东架构升级和重构04解密关键技术点05Android P 时间表发布“禁止调用非SDK接口”消息发布官方动态框架 Android App bundles四月五月六月七月DP1Google IO 开发者大会&DP2DP3DP4DP5三月正式版Q3禁止调用非SDK接口三个名单逐步推进名名单单影响影响说明说明浅灰名浅灰

2、名单单targeSDK=9.0:警告Android P 中还可继续工作在后续版本可能会被移到深灰名单或黑名单深灰名深灰名单单targeSDK=9.0:不允许调用targeSDK 9.0:警告在未来的 Developer Preview 版本中将不可访问开发者需要整改这些接口,或者申请加入浅灰名单黑名黑名单单所有三方应用不允许调用深灰名单和浅灰名单之外的所有非SDK接口目录CONTENTSAndroid P 禁令01Android App Bundles02路在何方03京东架构升级和重构04解密关键技术点05Android App BundlesAndroid App BundlesBase A

3、PK是首次安装的APK提供应用的基本功能,并包含其它splite APKs可以访问的公共代码和资源manfest文件会包含所有的四大组件,权限,SDK版本以及依赖关系的完整声明Configuration APKs包含特定的屏幕密度、CPU架构和语言的资源当用户下载Base APK或者Dynamic feature Apk的时候,只需要下载其对应的特定资源Dynamic feature APKs包含的是首次安装的时候不需要的代码和资源可以使用 Play Core Library 动态下载和安装AAB的整体流程GooglePlayBaseConfigurationDynamicBaseConfig

4、urationDynamicBaseConfigurationDynamicConfigurationDynamicBaseConfigurationDynamicConfigurationConfigurationDynamicDynamicAAB 总结01优点02限制03成本1.IDE 需要升级到 Android Studio 3.22.需要集成 Play Core Library3.可以加入 SplitCompat 库以支持 6.0 以下的手机热更新 Dynamic feature apk4.所有模块必须位于同一个工程5.如果之前的 Library 想改造成Dynamic Feature

5、Module 必须手动改造1.官方支持2.减小了APK体积:去除与用户机型不匹配的代码和资源;动态下发首次不需安装的部分1.只能通过 Google Play 发布2.处于测试阶段:需要申请加入 Google 的 dynamic feature betaprogram3.最低支持的版本是 Android 5.0(API level 21)4.只是单纯的减小了包体积,不能通过动态下发来修复Bug和增加之前未预算的新功能,也不能增加base apk的manifest中没有的四大组件目录CONTENTSAndroid P 禁令01Android App Bundles02路在何方03京东架构升级和重构

6、04解密关键技术点05实现插件化的黑科技Hook App运行的关键点ActivityThread.mInstrumentationActivityThread.mHLoadedApk.mApplicationLoadedApk.mClassLoaderContextThemeWrapper.mBase加载插件中的类通过反射插入到BaseDexClassLoader的pathList中或是通过delegateClassLoader找到插件对应的classLoader进行加载加载插件中的资源反射调用AssetManager.addAssetPaths为什么需要插件化绕过65536问题,快速启动模块

7、解耦多个团队并行开发加快编译速度动态部署我们的需求 去黑科技 平稳过渡 边界隔离 并行开发 独立调试 快速编译 动态部署路在何方?Follow官方 组件化 前端插件化插件化AAB组件化组件化前端前端边界隔离边界隔离并行开并行开发发独立独立调试调试兼容性兼容性差好好好成熟度成熟度黑科技差需研发好动态部署动态部署打折无迁移成本迁移成本/大中大01STEP02STEP04STEP03STEP目标持续改进和优化持续发展技术保持自身的活力组件化+插件化具有两者的优点随意互转具备降级条件AAB、前端 随着官方框架的成熟应逐步向官方的动态化框架靠拢 部分简单的业务迁移到前端上去增加组件化功能自研一个比较好用

8、的组件化方案现有代码易切换组件间通讯方便目录CONTENTSAndroid P 禁令01Android App Bundles02路在何方03京东架构升级和重构04解密关键技术点05重构目标去除插件化黑科技平稳过渡JdLib去中心化插件组件随时互转京东架构升级Aura插件化插件化插件化组件化Aura Plus灵活互转无缝调用优势互补去中心化平台支撑京东的插件化框架重构后的架构图目录CONTENTSAndroid P 禁令01Android App Bundles02路在何方03京东架构升级和重构04解密关键技术点05以 Project 和 Module 为边界进行组件间隔离使用暴露暴露API的

9、方法达到组件间灵活通讯和调用的目的处理组件的依赖关系武林秘籍高内聚低耦合解密关键技术点项目结构:一主工程多子工程开发模型多个仓库:一主工程,多个子工程Library无需转换到Application一切皆组件小团队独立开发ApplicationLibraryApplicationLibraryApplicationLibraryHost组件Full.aarApi.jar全部的类需要对外暴露的类编译只暴露API,隐藏具体实现Bundle-ABundle-BBundle-CBundle-DBundle-E 组件无依赖传递 规则:如需依赖,必须明确写出组件依赖组件提效武林秘籍其 它 秘 籍预防资源 id 冲突:resourcePrefix统一管理第三方库:ThirdBundle统一管理公共资源:BaseResBundle

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(当插件化遇上Android P.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部