好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Android插件化开发文档.pdf

25页
  • 卖家[上传人]:jiups****uk12
  • 文档编号:38301724
  • 上传时间:2018-04-30
  • 文档格式:PDF
  • 文档大小:1.11MB
  • / 25 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • ApkplugApkplug 模块化开发模块化开发 SDKSDK 接入快速指导接入快速指导 V V2 2.0.0 适用软件版本 更新日期 作者 审核 2.7.0 2015.3.4 郭彩霞 梁前武 第 2 页共 25 页 Apkplug 项目 一,一, 前言前言 1.1 文档目的文档目的 本文档对 Apkplug 使用方法进行了详细说明, 帮助开发人员熟悉 Apkplug 的使用规范,使开发者可以熟悉的使用 Apkplug 开发插件 1.2 阅读对象阅读对象 本文档只面向使用 Apkplug 开发插件的开发人员,要求读者有基本的程序开发背景,需掌握 java 和 android 程序开发 二,二,Apkplug 简介简介 2.1 概述概述 安织云-apkplug 框架为开发者提供插件化,模块化,轻应用开发方案你可利用它解决apk 文件过大,代码臃肿,更新代价大等问题以及支撑应用内更新,支撑第三方插件接 入等功能同时 APKPLUG 还提供移动广告平台聚合 AdsPlug,移动支付聚合,渠道接入等众多实用开发工具。

      2.2 适用范围适用范围 适用平台:适用于 Android 平台(Android2.2 及以上版本) 开发环境:OS: Windows, Linux, Mac, JDK1.6及以上 SDK:基于 Android sdk 2.2 及以上版本 IDE:ecilpse with ADT. 2.3 功能介绍功能介绍 Apkplug 最大的亮点就在于它的强大功能-插件化插件化 apk, 就是多个 APK在一个 APK上运行 其次还可以利用其搭建聚合广告,聚合支付等 2.4 接入流程接入流程 三,三,Apkplug 接入说明接入说明 3.1 准备工作准备工作 3.1.1 了解了解 Apkplug 目前发布的目前发布的 ID 有哪些?有哪些? 根据实际业务需要,目前 Apkplug 共发布了四种 ID 号,根据实际需要不一定所有的 ID 都必平台注册,获取 AppAuth 插件应用中导入 SDK 并打包 主应用中导入SDk并放置插件 APK,打包 结束 第 3 页共 25 页 Apkplug 项目 须申请。

      AppAuth //适用宿主应用 【主应用必须申请】 Apkplug-Theme-Auth //适用宿主应用 【主应用需要独立主题切换功能时需要申请】 Appid //适用主应用和插件 【使用插件托管服务的应用/插件需要申请】 Appkey //适用主应用和插件 【与 Appid 同时创建 ,暂无用到】 插件化 APK,需要申请两个参数:AppAuth 和 Appid AppAuth 参数在后面 3.2.2 创建主应用中说到 Appid 参数在后面 3.4.2 创建插件中说到 3.1.2 注册注册 Apkplug 帐号帐号 官网地址 http: 打开 Apkplug 官网后, 点击右上角的 “注册” , 在跳转页面填入相关信息, 注册界面如下: 确认后注册成功,使用你的账号登录网站你就可以用 Apkplug 开发应用了 3.2 开发主应用开发主应用 3.2.1 主应用开发步骤主应用开发步骤 Apkplug 主应用开发分两步集成主应用开发分两步集成: 1. 获取主应用授权 AppAuth。

      2. 对接 Apkplug SDK 导入相关库文件 3.2.2 为为主主应用申请应用申请应用授权应用授权 AppAuth 登录账号进入 Apkplug 后台后,切换到“应用授权页面” ,按要求填写好应用信息,然后确定,你就拥有了一个等待开发的应用授权 AppAuth应用授权界面如下: 第 4 页共 25 页 Apkplug 项目 进入“授权列表”页面,点击“查看详情”链接,进入“应用详情界面” ,就可以看到已申请的AppAuth,点击其后面的“复制” ,即可直接复制 AppAuth,如下图所示 3.2.3 对接对接 SDK 导入相关库文件导入相关库文件 1,,配置应用权限配置应用权限 主应用需要几个基础的权限配置,请将以下的几个权限加入到主应用的 AndroidManifest.xml中 另外将一下加入到节点中 第 5 页共 25 页 Apkplug 项目 最后将我们从 Apkplug 管理后台申请到的 AppAuth 加入到配置文件中。

      注:由于 3.2.2 节中我们直接复制了 AppAuth,此处直接粘贴到 AndroidManifest 文档中 如下图: 2,导入,导入 SDK 库文件库文件 主应用需要导入两个文件,将其放入 libs 目录中即可 1, libndkfoo.so 2, Bundle2.0.0.jar 这两个库文件在 Apkplug SDK 中可以找到 Apkplug SDK 下载地址:http://apkplugdemo.oss-cn- 然后: 主应用启动 Apkplug 最简只需要一段代码即可,建议在建议在 Application 中启动框架中启动框架 FrameworkInstance frame=FrameworkFactory.getInstance().start(List,Context); 3.3 开发插件开发插件 3.3.1 插件插件与普通应用的区别与普通应用的区别 Apkplug 中的插件也是一个完整的 apk,它与普通应用的区别有: 1, 插件 assets 目录下有一个 plugin.xml 文档,通过它可判断一个工程是主应用还是插件 第 6 页共 25 页 Apkplug 项目 2, 插件有一个入口类 BundleActivator 3, 插件会外部引用一个 osgi.jar 文件 3.3.2 插件开发步骤插件开发步骤 开发一个简单插件只需要几个步骤即可,开发环境完全依照安卓应用开发环境。

      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 SDK 中可以找到 Apkplug SDK 下载地址:http://apkplugdemo.oss-cn- 2,, 编写插件入口类编写插件入口类 BundleActivator 插件启动时首先调用 BundleActivator,其功能类似 android 中的 application 类 public class SimpleBundle implements BundleActivator { private BundleContext mcontext = null; public void start(BundleContext context) throws Exception { 第 7 页共 25 页 Apkplug 项目 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 文件文件 插件工程中添加的文件目录结构如下: 第 8 页共 25 页 Apkplug 项目 最后编译运行插件工程,生成的 apk 文件即为插件文件。

      3.4 插件编译后的使用说明插件编译后的使用说明 插件开发后的插件 apk 放置可以有两种:本地目录 assets 目录下和云端托管 本质的区别是本质的区别是: 云端托管可实现插件动态更新 3.4.1 本地放置插件本地放置插件 APK 如 ApkplugDemo 中配置: TestBundle.apk 是插件 第 9 页共 25 页 Apkplug 项目 3.4.2 云端托管插件云端托管插件 APK 1,,云端托管插件申请云端托管插件申请 Appid 要使用云端托管服务,需要为每一个主应用和插件免费申请一个 appid,只有 AndroidManifest.xml 文件中存在 apkplug-appid 键值的 apk 文件才允许上传云服务器 登录账号进入 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.