# 整体逻辑
插件(plugin)分为js和安卓两部分。
js端的功能包括:
1)通过plugin管理模块加载插件安卓端,并负责监听插件加载状态。
2)向小程序提供js api,小程序可以通过api调用插件实现的功能。
3)调用插件安卓端穿透出来的js interface,并负责将插件安卓端上报的事件传给小程序。
4)具有一定的状态管理功能,以保证小程序和插件安卓端可以正确配合工作。
总体来说,插件js端是一个proxy,负责将插件安卓端的功能和状态提供给小程序使用,并负责插件安卓端的加载。
安卓端的功能包括:
1)插件安卓端包含dex、so、资源文件等。
2)提供标准的初始化接口,使得插件管理模块可以正确的初始化插件安卓端。
3)实现既定的业务逻辑,以供小程序使用。
4)提供js interface供插件js端调用,并把实时状态上报插件js端。