Apkplug 快速接入本地插件

1 下载sdk jar包和so文件,并在工程中引入

SDK下载链接:下载

2 配置manifest文件

权限配置

<uses-permission android:name="android.permission.ACCESSNETWORKSTATE" />

<uses-permission android:name="android.permission.BINDMIDIDEVICESERVICE" />

<uses-permission android:name="android.permission.READPHONESTATE" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.MOUNTUNMOUNTFILESYSTEMS" />

<uses-permission android:name="android.permission.READEXTERNALSTORAGE"/>

<uses-permission android:name="android.permission.WRITEEXTERNALSTORAGE"/>

<uses-permission android:name="android.permission.MOUNTUNMOUNTFILESYSTEMS"/>

Application标签内配置

<meta-data android:name="apkplug_appid" android:value="appid : 后台应用详情中去复制"/>



<meta-data android:name="apkplug_containerid" android:value="containerid: 后台容器详情中复制"/>(使用容器绑定方式需要配置,使用短链不用)



<activity android:name="org.apkplug.app.apkplugActivity"

    android:theme="@android:style/Theme.Translucent.NoTitleBar"

    android:configChanges="orientation|keyboardHidden">



    <intent-filter>

    <action android:name="android.intent.action.MAIN"></action>

    </intent-filter>



</activity>



<service android:name="org.apkplug.app.apkplugService"/>

<service android:name="com.apkplug.libmerge.common.MergeServeice"

    android:process=":merge" />



<provider android:name="org.apkplug.app.apkplugProvider" android:authorities="xxx.apkplugprovider"/>

3 初始化sdk

在使用任何api前保证已经调用过如下初始化代码,初始化一次即可

PlugManager.getInstance().init(this,FrameworkFactory.getInstance().start(null,this).getSystemBundleContext(), "你的publickey");

4、 安装本地插件

Apkplug最简单的使用场景就是安装本地插件,只要把插件apk放到assets目录,即可安装到主应用中使用。

安装assets插件:

PlugManager.getInstance().installAssets(context,"assets中apk的文件名",“插件版本号”,OnInstallListener listener)

5、启动插件

最简单的,使用Intent直接启动插件activity,用setclass方式即可

6、例子工程源码

https://github.com/apkplug/SDKDemo/tree/master/apkplug_examples

这个最简单例子的原理说明:http://ask.apkplug.com/topic/5864a4a2a8c88bc31df6aa12