插件安装

apkplug支持两种安装方式

1.安装云端托管的插件

2.安装Assets目录下的插件


1 安装云端插件

此接口可以根据从云端获取的PlugInfo把对应的插件安装到本地,PlugInfo的获取参考获取云端插件信息

接口流程:

调用代码为:

    PlugManager.getInstance().installPlug(this, plugInfo, new OnInstallListener() {
        @Override
        public void onDownloadProgress(String url, String filePath, long bytesWritten, long totalBytes) {
            Log.d(filePath,"had downloaded "+bytesWritten+" all in "+totalBytes);
        }

        @Override
        public void onInstallSuccess(org.osgi.framework.Bundle bundle, PlugInfo plugInfo) {
            Log.d("onInstallSuccess",bundle.getName()+" had installed");
        }
        @Override
        public void onInstallFailuer(int i,org.osgi.framework.Bundle bundle, PlugInfo plugInfo,String errorMsg) {
            Log.d("onInstallFailure",bundle.getName()+errorMsg);
        }

        @Override
        public void onDownloadFailure(String errorMsg) {
            Log.d("failure",errorMsg);
        }
    });

接口说明:

安装云端插件接口为:

PlugManager.getInstance().installPlug(Context context, PlugInfo plugInfo, OnInstallListener listener)

或者

PlugManager.getInstance().installPlug(Context context, PlugInfo plugInfo, InstallProperties properties,OnInstallListener listener)

后者可以通过InstallProperties 传入一些安装检测条件,其他相同

PlugInfo结构参考附录

InstallProperties结构参考附录

OnInstallListener为安装回调,提供如下回调接口:

void onDownloadProgress(String url, String filePath, long bytesWritten, long totalBytes);
void onDownloadFailure(String errorMsg);
void onInstallSuccess(Bundle bundle, PlugInfo plugInfo);
void onInstallFailuer(int i,PlugInfo plugInfo,String errorMsg);

onDownloadProgress为监听下载进度,onInstall* 为安装完成后回调,onDownloadFailure返回下载失败信息。

安装失败返回的状态码说明参考附录

2 安装本地(assets)插件

插件可以直接放到assets目录直接安装使用。

安装本地插件接口为:

PlugManager.getInstance().installAssets(Context context,String apkName,String version,OnInstallListener listener)

或者

PlugManager.getInstance().installAssets(Context context,String apkName,String plugVersion,InstallProperties properties, final OnInstallListener listener)

后者可以通过InstallProperties 传入一些安装检测条件,其他相同

apkName:assets下插件apk的文件名

plugVersion:assets下插件apk的版本号

InstallProperties 参考附录

回调参考上面安装云端插件回调