RePlugin 2.2.X使用教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z2464342708m/article/details/77585268

前段时间有相当一部分博友反馈,按照上一篇关于RePlugin插件化集成的方式并不能成功集成插件化,当时没有怎么留意,后来经王玉鹏Roc提醒,才知道插件升级了,集成的方式有些变化。前段时间一直很忙,才没有及时更新博客,今日正好补上最新的RePlugin集成方案。
RePlugin 2.1.X版本集成的集成方式有几点不同:
1、之前的集成需要在AndroidManifest.xml文件中配置插件相关信息:
RePlugin 2.1.X的配置方式:

        <meta-data
            android:name="com.qihoo360.plugin.name"
            android:value="androidhelper" />
        <meta-data
            android:name="com.qihoo360.plugin.version.ver"
            android:value="100" />

RePlugin升级之后,这一步不需要配置;
2、在安装、检测、启动插件的时候传入的阐述发送了改变:
RePlugin 2.1.X版本的检查方式:

//检测插件是否安装
PluginInfo info = MP.getPlugin("androidhelper", true);
                    //未安装插件
                    if (null == info) {
                        //检测插件是否下载
                        File file = new File("/sdcard/dht", "androidhelper.apk");
                        if (!file.exists()) {
                            //下载插件
                            Toast.makeText(MainActivity.this, "插件不存在", Toast.LENGTH_SHORT).show();
                        } else {
                            //安装插件
                            PluginInfo in = RePlugin.install("/sdcard/dht/androidhelper.apk");
                            if (null == in) {
                                Toast.makeText(MainActivity.this, "安装插件失败", Toast.LENGTH_SHORT).show();
                            }
                        }
                        return;
                    }
                    //启动插件
                    RePlugin.startActivity(MainActivity.this, RePlugin.createIntent("androidhelper", "com.morse.replugin.MainActivity"));

RePlugin 2.2.X的检测方式:

public static void startPlugin(Context context) {
        //检测插件是否安装
        //检测是否安装插件时,传入的是包名
        PluginInfo info = MP.getPlugin("com.morse.plugin", true);
        //未安装插件
        if (null == info) {
            //检测插件是否下载
            File file = new File("/sdcard", "plugin.apk");
            if (!file.exists()) {
                //下载插件
                Toast.makeText(context, "插件不存在", Toast.LENGTH_SHORT).show();
            } else {
                //安装插件
                PluginInfo in = install("/sdcard/plugin.apk");
                if (null == in) {
                    Toast.makeText(context, "安装插件失败", Toast.LENGTH_SHORT).show();
                }
            }
            return;
        } else {
            RePlugin.preload(info);
        }
        //启动插件
        RePlugin.startActivity(context, RePlugin.createIntent("com.morse.plugin", "com.morse.plugin.MainActivity"));
    }

主要的区别在于:MP.getPlugin(“com.morse.plugin”, true)方法的使用,前者传入的是插件的名字,后者传入的时候插件的包名;RePlugin.createIntent(“com.morse.plugin”, “com.morse.plugin.MainActivity”)启动是传入的参数不一样:前者的第一个参数是插件名,后者的第一个参数是插件包名。
RePlugin2.1.X版本与2.2.X版本集成时的区别就这么多,如果博友们还是不能成功集成,欢迎私信我,希望本文对各位博友能够带来点帮助。

猜你喜欢

转载自blog.csdn.net/z2464342708m/article/details/77585268