apkplug(安织云)的使用(一):宿主项目搭建

先声明,本人对osgi了解不深,甚至在使用apkplug前对osgi一无所知,对osgi理解有误的地方请指出

因为官网的手册介绍过于简略,很多需要配置的属性和需要实现的方法没有详细写出,导致项目无法运行,需要对照demo一点一点寻找、纠正,比较费时。写这系列博文,一是为了让自己以后在正式使用时少花点时间,二是让其他小白在使用这个平台时少走弯路。


先复制一段apkplug首页的介绍

apkplug 是一个android平台下免费的OSGI框架,是android程序插件化,模块化开发利器

简单的说apkplug 是一个可以使用未安装apk文件内部各种代码资源的开发框架

apkplug 是一个极简的android插件化,模块化,轻应用解决方案,可以轻松的将android转化为模块化的轻应用



需要准备:

1. android开发环境

2. apkplug开发包(下载位置:http://www.apkplug.com/download/)


接下来开始搭建:

步骤1:新建android项目


步骤2:将开发包中以下文件复制到项目下的libs中



步骤3:

在AndroidManifest.xml中添加权限

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

并注册activity

<activity
            android:name="org.apkplug.app.apkplugActivity"  
            android:configChanges="orientation|keyboardHidden" />


步骤4:

实现PropertyInstance 接口,这个接口的作用是为apkplug平台启动提供一些基础的系统变量


PropertyInstance 源码如下:

 
public interface PropertyInstance {
         //可获取本地变量(必须实现)
         public  String getProperty(String key);
        //可将变量储存在本地(必须实现)
         public  void setProperty(String key,String v);
        //启动时可自动安装插件的本地文件绝对路径
         public String[] AutoInstall();
       //启动时可自动启动(未安装时先安装再启动)插件的本地文件绝对路径
         public String[] AutoStart();
      //是否启动调试模式 如果启动调试模式在退出app时调用FrameworkInstance.shutdown();可以清理所有已安装插件(利于下次启动重新安装新插件)
         public boolean Debug()
}

其中 getProperty(String key)方法和setProperty(String key,String v)必须要实现属性值的存储和读取,如果不实现,平台会在启动后立即报错

步骤5:
在任意activity执行 FrameworkFactory.getInstance().start( List activatorList, Context appContext, PropertyInstance property )方法,即可启动平台。
注意start方法中的appContext参数必须是Activity的Context,不能是ApplicationContext

至此,宿主项目搭建完成
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值