提交 f050bc78 编写于 作者: A asure

优化

上级 921c8ed3
# VirtualAPK的特性
VirtualAPK是滴滴出行自研的一款优秀的插件化框架,主要有如下几个特性。
#功能完备
**·**支持几乎所有的Android特性;
**·**四大组件方面
#四大组件均不需要在宿主manifest中预注册,每个组件都有完整的生命周期。
# 功能完备
**·** 支持几乎所有的Android特性;
**·** 四大组件方面
# 四大组件均不需要在宿主manifest中预注册,每个组件都有完整的生命周期。
1.Activity:支持显示和隐式调用,支持Activity的theme和LaunchMode,支持透明主题;
2.Service:支持显示和隐式调用,支持Service的start、stop、bind和unbind,并支持跨进程bind插件中的Service;
3.Receiver:支持静态注册和动态注册的Receiver;
......@@ -12,22 +12,22 @@ VirtualAPK是滴滴出行自研的一款优秀的插件化框架,主要有如
6.PendingIntent:支持PendingIntent以及和其相关的Alarm、Notification和AppWidget;
7.支持插件Application以及插件manifest中的meta-data;
8.支持插件中的so。
#优秀的兼容性
# 优秀的兼容性
1.兼容市面上几乎所有的Android手机,这一点已经在滴滴出行客户端中得到验证;
2.资源方面适配小米、Vivo、Nubia等,对未知机型采用自适应适配方案;
3.极少的Binder Hook,目前仅仅hook了两个Binder:AMS和IContentProvider,hook过程做了充分的兼容性适配;
4.插件运行逻辑和宿主隔离,确保框架的任何问题都不会影响宿主的正常运行。
#入侵性极低
# 入侵性极低
1.插件开发等同于原生开发,四大组件无需继承特定的基类;
2.精简的插件包,插件可以依赖宿主中的代码和资源,也可以不依赖;
3.插件的构建过程简单,通过Gradle插件来完成插件的构建,整个过程对开发者透明。
```
以上内容均引用(https://github.com/didi/VirtualAPK/wiki)
```
# 集成
####先列一下项目的结构。![项目结构.png](https://upload-images.jianshu.io/upload_images/10881059-79344da540e0be92.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
# 集成
#### 先列一下项目的结构。![项目结构.png](https://upload-images.jianshu.io/upload_images/10881059-79344da540e0be92.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####开始集成
#### 开始集成
1.项目级的build.gradle文件中
```
classpath 'com.android.tools.build:gradle:3.0.0'
......@@ -104,7 +104,7 @@ virtualApk {
如果顺利的话,插件apk会在插件项目的 build/outputs/plugin/release 文件夹下
~~~当然大部分情况下基本都是失败,所以接下来列一下所有踩过的坑
```
#踩坑记录
# 踩坑记录
1.在执行./gradlew assemblePlugin前,先执行一下Make Project 确保宿主app/build/VAHost文件夹下有versions.txt文件,否则:
```
* What went wrong:
......@@ -147,7 +147,7 @@ import com.jason.plugin.plugin_one.R;
6.buildToolsVersion 不支持28.0.0往上,我项目里用的是26.0.2
#以上是集成VirtualAPK的整个流程和踩的坑
# 以上是集成VirtualAPK的整个流程和踩的坑
github地址:(https://github.com/liujun123456/VirtualAPKDemo)
对插件化感兴趣的朋友可以把代码拉下来玩一下,基本能省略掉你很多踩坑的地方
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册