RePlugin使用入门

记本人学习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:

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

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

                    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

                    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使用入门)