apkplug实用小技巧 如何使用ApkPlug进行Android平台下模块化开发

编辑: admin           2017-12-07         

    使用Apkplug插件化的接入流程可归结如下图:

     

    如何使用ApkPlug进行Android平台下模块化开发

    步骤1:注册ApkPlug官网账号:

    打开Apkplug官网后,点击右上角的“注册”,在跳转页面填入相关信息,注册界面如下:

    如何使用ApkPlug进行Android平台下模块化开发

    确认后注册成功,使用你的账号登录网站。你就可以用Apkplug开发应用了

    步骤2:开发插件

    Apkplug中的插件也是一个完整的apk,它与普通应用的区别有以下3点:

    1, 插件assets目录下有一个plugin.xml文档,通过它可判断一个工程是主应用还是插件。

    2, 插件有一个入口类BundleActivator

    3, 插件会外部引用一个osgi.jar文件

    开发插件的步骤有如下4步:

    1,引入osgi.jar库文件

    Apkplug中插件需要导入的库文件只有一个osgi.jar。

    导入osgi.jar库文件需要注意一下

    osgi.jar文件只能引用不能编译到apk文件中,否则会出现类冲突的情况

    异常代码:had used a different Lorg/osgi/framework/BundleActivator; during pre-verification。

    osgi.jar包导入方法:

    如何使用ApkPlug进行Android平台下模块化开发如何使用ApkPlug进行Android平台下模块化开发

    这文件在Apkplug SDK中可以找到。

     

     

    2,编写插件入口类BundleActivator

    插件启动时首先调用BundleActivator,其功能类似android中的application类。

     

    public class SimpleBundle implements BundleActivator

    {

        private BundleContext mcontext = null;

        public void start(BundleContext context) throws Exception

        {

            System.err.println("你好我是插件,我将为你展示启动acitivty我已经启动了 我的BundleId为:"+context.getBundle().getBundleId());

        }

        public void stop(BundleContext context)

        {

                 System.err.println("你好我是插件,我被停止了 我的BundleId为:"+context.getBundle().getBundleId());

         

        }

            

    }

    3,编写plugin.xml配置文件

    plugin.xml 是一个配置表,它跟AndroidManifest.xml作用类似。 plugin.xml文档放置在assets中即可  重要属性说明: Bundle-Name                        插件名称 Bundle-SymbolicName       插件包名  -与应用packagename可一一对应 Bundle-Version                     插件版本  -1.0.0 Bundle-Activator                    插件入口  -与Appliction 类似 Bundle-Activity                       插件界面  -多个Activity可用 ,  分割 Bundle-Service                     插件Service  -多个Service可用 , 分割    (v2.0.0新增) Bundle-Receiver                  插件广播    -多个广播类可用 , 分割         (v2.0.0新增)

    4, 编译生成插件apk文件

    插件工程中添加的文件目录结构如下:

    如何使用ApkPlug进行Android平台下模块化开发

    最后编译运行插件工程,生成的apk文件即为插件文件

    步骤3:开发主应用

    Apkplug 主应用开发分两步集成:

    1. 获取主应用授权AppAuth。

    登录账号进入Apkplug后台后,切换到“应用授权页面”,按要求填写好应用信息,然后确定,你就拥有了一个等待开发的应用授权AppAuth。应用授权界面如下:

     

    如何使用ApkPlug进行Android平台下模块化开发

    进入“授权列表”页面,点击“查看详情”链接,进入“应用详情界面”,就可以看到已申请的AppAuth,点击其后面的“复制”,即可直接复制AppAuth,如下图所示

    如何使用ApkPlug进行Android平台下模块化开发

    2. 对接Apkplug SDK 导入相关库文件。

    ①配置应用权限

    主应用需要几个基础的权限配置,请将以下的几个权限加入到主应用的AndroidManifest.xml中。

    <!-- 插件平台需要的权限! -->

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

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

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

    <uses-permission android:name="android.permission.READ_PHONE_STATE">

    </uses-permission>

     

    另外将一下加入到<application></application>节点中 

    <!-- 插件平台需要的配置! -->

       <activity

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

                android:theme="@style/android:Theme.Light"

                android:configChanges="orientation|keyboardHidden"

           />

    最后将我们从Apkplug管理后台申请到的AppAuth加入到配置文件中。

     

    <meta-data  android:name="apkplug-auth" android:value="xxxxxxxx" ></meta-data>

    注:由于3.2.2节中我们直接复制了AppAuth,此处直接粘贴到AndroidManifest文档中。

    如下图:

    如何使用ApkPlug进行Android平台下模块化开发

    ②导入SDK库文件

    主应用需要导入两个文件,将其放入libs目录中即可。

    1,  libndkfoo.so

    2,  Bundle2.0.0.jar

    如下图:

    如何使用ApkPlug进行Android平台下模块化开发

    这两个库文件在Apkplug SDK中可以找到。

    然后:

    主应用启动Apkplug最简只需要一段代码即可,建议在Application中启动框架。

     

    FrameworkInstance frame=FrameworkFactory.getInstance().start(List<BundleActivator>,Context); 

    将上一步骤开发好的插件apk,放置在主应用工程里的assets路径下。

    如下图:

     

    如何使用ApkPlug进行Android平台下模块化开发

    步骤4:启动主应用

    最后启动主应用即可。简单的插件化apk的方法就讲完了,有兴趣的关注我,下次讲云端托管插件实现应用内更新。

  •   4
  • 相关文章

    备战2018怎么判断肉是不是熟了归纳总结(实战篇)
    备战2018怎么连接路由器和电脑归纳总结(实战篇)
    备战2018高清行车记录仪品牌归纳总结(实战篇)
    20173194实用小技巧 iphone固件恢复3194错误解决方法
    备战2018什么是办公室工作归纳总结(实战篇)
    2017衣服翻新实用小技巧 巧手主妇——旧衣巧翻新
    备战2018怎样使用补水面膜归纳总结(实战篇)
    备战2018笔记本无线无法上网归纳总结(实战篇)
    备战2018鼻炎吃什么药好归纳总结(实战篇)
    2017diy美容实用小技巧 最好的DIY美容方法是什么
Copyright ©2009-2021 逆火网训All Rights Reserved.     滇ICP备2023009294号-57