IT资讯

IT资讯
您当前所在位置:主页 > IT资讯 >

android插件化-apkplug框架启动-02

发布日期:2019年01月26 编辑:

本文章基于apkplug v1.6.7 版本编写,最新方式以官网最新消息为准

一 apkplug框架所需要的库文件(宿主) 可从http://git.oschina.net/plug/apkplugSDK 获取最新库文件

同时可下载最新的apkplugdemo源码 http://git.oschina.net/plug/apkplugDemos

libs--

--libndkfoo.so armeabi armeabi-v7a mips x86

--Bundle(版本号).jar

将以上的文件加入宿主应用的libs目录下

二 AndroidManifest.xml 权限配置

插件平台需要几个基础的权限配置,请将以下的几个权限加入到工程的AndroidManifest.xml中



另外将一下加入到节点中 三 启动apkplug框架 你可以在应用的Application中启动框架具体代码如下 (并不限制在Application中) public FrameworkInstance start( List activatorList,Context appContext,PropertyInstance property) public FrameworkInstance start( List activatorList,Context appContext,PropertyInstance property,DisplayMetrics dm2) 1.activatorList 是一个BundleActivator的List(可以为null) 这些BundleActivator在框架启动时启动(系统级别) 2.PropertyInstance 框架保存配置信息的接口 //框架通过该接口获取本地保存的变量 public String getProperty(String key); //框架通过该接口设置本地变量 public void setProperty(String key,String v); //框架启动时将自动安装该该函数提供的文件 "file:"+apk文件路径 (1.6.7以后不建议使用 可用BundleControl代替) public String[] AutoInstall(); //框架启动时将自动安装并启动该该函数提供的文件 "file:"+apk文件路径 (1.6.7以后不建议使用 可用BundleControl代替) public String[] AutoStart(); //调试模式 调试模式中退出APP时调用FrameworkInstance.shutdown();将删除所有插件 public boolean Debug(); 四 框架启动成功获取FrameworkInstance接口 框架启动成功以后会返回org.apkplug.app.FrameworkInstance接口,它是宿主应用与apkplug框架和插件通信的接口。 //停止框架 public void shutdown(); //获取框架的SystemBundle apkplug框架启动时会创建一个SystemBundle 它的BundleID为0 同时它不可停止和卸载,我们科通过它与其他插件通信 public Bundle getSystemBundle(); //SystemBundle 插件的上下文 BundleContext public BundleContext getSystemBundleContext(); 启动代码: view source print?
01 try
02 {
03 FrameworkInstance frame=FrameworkFactory.getInstance().start(null,Launcher.this,MyProperty.getInstance(this.getApplicationContext()));
04 }catch (Exception ex){
05 System.err.println("Could not create : " + ex);
06 ex.printStackTrace();
07 StringBuffer buf=new StringBuffer();
08 buf.append("插件平台启动失败: ");
09 buf.append(ex.getMessage());
10 Toast.makeText(this, "插件平台启动失败",Toast.LENGTH_SHORT).show();
11 }


至此框架便嵌入到应用中并启动成功了,下一篇文章将讲解怎样通过SystemBundle获取已插件和信息等操作

http://www.bkjia.com/Androidjc/769864.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/769864.htmlTechArticle本文章基于apkplug v1.6.7 版本编写,最新方式以官网最新消息为准 一 apkplug框架所需要的库文件(宿主) 可从http://git.oschina.net/plug/apkplugSDK 获取最...

本文源自: 凯发国际

< 上一篇:Android apk动态加载机制的研究

> 下一篇:没有了