android轻应用

android插件化-apkplug从宿主启动插件Activity-06

佐手、 提交于 2019-12-05 06:26:25
插件是一个apk文件它存在自己的Activity界面和UI显示,本节将讲解如何配置插件的启动Activity以及怎样从宿主启动它。 一 配置插件apk的对外启动Activity (内部activity不需要配置) 与普通app不同,插件AndroidManifest.xml配置在apkplug框架中是无效的,我们需要在plugin.xml里面配置才能被apkplug所识别 具体设置属性为 Bundle-Activity="xxx.xxx.xxx.Activity" 只有设置为Bundle-Activity的activity才能从宿主中启动,否则将报"无法找到相应类的异常" 二 设置多个外部启动Activity 如果你有多个activity需要从外部启动的话可以用,分割 如 Bundle-Activity="a.b.c,d.e.f,j.q.p" 以上配置了三个activity,可以外部启动通过插件的Bundle.getBundleActivity() 可获取到这个字符串 Bundle.getBundleActivity().split(",")[0] 分割出对应的Activity类 三 启动activity 启动插件activity的方式很多,最简单的是以原生activity启动方式进行启动 Intent i=new Intent(); i.setClassName(mContext

android插件化-安装apkplug插件-04

这一生的挚爱 提交于 2019-12-03 03:40:17
本节我们将练习怎样安装(更新)一个插件。本文章基于v1.6.7版本进行说明,最新的方式以官网为准 可下载最新的apkplugdemo源码 http://git.oschina.net/plug/apkplugDemos 一 apkplug插件 apkplug插件是一个apk文件,它与普通的android APP基本相同(开发方式),本节只讲插件安装接口而插件开发将在后面的章节详细讲解 二 apkplug 插件安装服务 apkplug内嵌一个OSGI服务,所以框架大部分接口都是通过OSGI服务发布的,在这里你可以不用详细了解OSGI服务的原理,一下我们将给出调用插件安装服务的模板代码。你在开发时可以直接套用。 三 BundleControl接口 插件安装服务接口为 org.apkplug.Bundle.BundleControl // startlevel =2 isCheckVersion=true Bundle install(BundleContext context,String loaclFilePath,installCallback callback) // v1.6.7 新增接口 建议使用最新的这个调用接口 Bundle install(BundleContext context,String loaclFilePath,installCallback