微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VirtualAPK VirtualAPK的特性入侵性极低VirtualAPK的工作过程 滴滴 Android 插件化框架

程序名称:VirtualAPK VirtualAPK的特性入侵性极低VirtualAPK的工作过程

授权协议: Apache

操作系统: Android

开发语言: Java

VirtualAPK VirtualAPK的特性入侵性极低VirtualAPK的工作过程 介绍

VirtualAPK 是滴滴出行自研的一款优秀的插件化框架,通过将业务模块插件化,可随时更新插件来发布新功能,具备版本随时发布的能力。

VirtualAPK的特性

  • 支持几乎所有的Android特性;

  • 四大组件方面

四大组件均不需要在宿主manifest中预注册,每个组件都有完整的生命周期。

  • 兼容市面上几乎所有的Android手机,这一点已经在滴滴出行客户端中得到验证;

  • 资源方面适配小米、Vivo、Nubia等,对未知机型采用自适应适配方案;

  • 极少的Binder Hook,目前仅仅hook了两个Binder:AMS和IContentProvider,hook过程做了充分的兼容性适配;

  • 插件运行逻辑和宿主隔离,确保框架的任何问题都不会影响宿主的正常运行。

入侵性极低

  • 插件开发等同于原生开发,四大组件无需继承特定的基类;

  • 精简的插件包,插件可以依赖宿主中的代码和资源,也可以不依赖;

  • 插件的构建过程简单,通过Gradle插件来完成插件的构建,整个过程对开发者透明。

VirtualAPK的工作过程

VirtualAPK
插件没有额外的约束,原生的apk即可作为插件插件工程编译生成apk后,即可通过宿主App加载,每个插件apk被加载后,都会在宿主中创建一个单独的Loadedplugin对象。如下图所示,通过这些Loadedplugin对象,VirtualAPK就可以管理插件并赋予插件新的意义,使其可以像手机中安装过的App一样运行。

VirtualAPK VirtualAPK的特性入侵性极低VirtualAPK的工作过程 官网

https://gitee.com/didiopensource/VirtualAPK

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐