美文网首页RePlugin
RePlugin使用入门

RePlugin使用入门

作者: Bugme | 来源:发表于2017-09-10 11:24 被阅读0次

    记本人学习RePlugin的使用入门。

    RePlugin的github地址

    https://github.com/Qihoo360/RePlugin

    WIKI地址

    https://github.com/Qihoo360/RePlugin/wiki

    插件接入指南

    首先按照官方写法,在project下的build.gradle中加入

    buildscript {

                        dependencies {

                                                    classpath'com.qihoo360.replugin:replugin-plugin-gradle:x.x.x'

                                                  //由于作者撰写本篇文章时,RePlugin最新的版本号时2.2.0

                                                  //所以我的写法应该是

                                       //classpath'com.qihoo360.replugin:replugin-plugin-gradle:2.2.0'

                          }


    然后在Module下的build.gradle中加入

    applyplugin:'replugin-plugin-gradle'

    dependencies {

                              compile'com.qihoo360.replugin:replugin-plugin-lib:x.x.x'

    }

    在RePlugin 2.1.X时配置方式需要如下配置:

    要声明插件别名,需要在插件的AndroidManifest.xml中声明以下Meta-data:

    <meta-data

                      android:name="com.qihoo360.plugin.name"

                      android:value="[你的插件别名]" />

    <meta-data

                        android:name="com.qihoo360.plugin.version.ver"

                        android:value="[你的插件版本]" />

    然而,RePlugin升级2.2.0后,这一步不需要配置(应该为可配置可不配置,具体还没去了解)。

    然后大家将本项目打包成APK后改名为xxx.jar后就可以放进主项目的assets目录下的plugins文件夹下就可以完成插件的步骤了。如图:

    图一 将插件打包后放进主程序

    主程序接入指南

    项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加replugin-host-gradle依赖:

    buildscript {    

                          dependencies {        

                                                     classpath'com.qihoo360.replugin:replugin-host-gradle:x.x.x'   

                            }

    }

    app/build.gradle中应用replugin-host-gradle插件,并添加replugin-host-lib依赖:

    //由于项目超过65535个方法,故需要分包。所以需要在

    android {

                    defaultConfig { 

                                              //加入本行代码

                                           multiDexEnabled true;

                     }

    }

    applyplugin:'replugin-host-gradle'

    //其实此处还有很多可选配置,由于是入门,我们先放下,当务之急是先让我们的程序可以先跑起来。

    dependencies {

                              compile'com.qihoo360.replugin:replugin-host-lib:x.x.x'

    }

    最后一步配置便是配置 Application 类了:

    有两种方式可以实现,由于这只是个简单的Demo,所以我们先选择比较简单的实现方式。

    让工程的 Application 直接继承自 RePluginApplication。

    如果您的工程已有Application类,则可以将基类切换到RePluginApplication即可。或者您也可以用“非继承式”接入。

    publicclassMainApplicationextendsRePluginApplication{

    }

    既然声明了Application,自然还需要在AndroidManifest中配置这个Application

    <application

                        android:name=".MainApplication"

                       />

    到此,我们已经完成了主程序的接入。

    接下来就是运行我们的内置插件了

    根据官方的最佳实践方法,可将一些启动时必须要加载的,以及经常要用到的内置插件做一次“预加载”。具体做法:

    RePlugin.preload("exam");

    如图一,我将插件包命名为test.jar,故我们的写法应该是

    RePlugin.preload("test");

    我们可以将预加载放在起始页面启动一条线程进行,因为预加载相对来说比较耗时。

    预加载完成之后,就是插件的运行:

    在想要运行插件的方法中加入如下代码即可

    RePlugin.startActivity(xxx.this,

                                                         RePlugin.createIntent("TEST","com.xx.xxx.xxxActivity"));

    //启动插件的方法

    /**

    * 开启一个插件的Activity

    * 其中Intent的ComponentName的Key应为插件名(而不是包名),可使用createIntent方法来创建Intent对象

    *@paramcontextContext对象

    *@paramintent要打开Activity的Intent,其中ComponentName的Key必须为插件名

    *@return插件Activity是否被成功打开?

    * FIXME 是否需要Exception来做?

    *@see#createIntent(String, String)

    *@since1.0.0

    */

    public static booleanstartActivity(Context context,Intent intent);

    到此,我们的程序已经可以正常运行插件了。

    最后非常感谢Qihoo360能开源这么好的框架。

    由于作者是第一次写文章,并且文笔非常烂,所以希望大家包含。

    您的关注是作者写作的最大动力,祝您阅读愉快。

    相关文章

      网友评论

        本文标题:RePlugin使用入门

        本文链接:https://www.haomeiwen.com/subject/mkuzjxtx.html