当前位置: 首页 > 软件库 > 手机/移动开发 > >

AxbasePlugin

Android插件化开发框架
授权协议 LGPL
开发语言 Java
所属分类 手机/移动开发
软件类型 开源软件
地区 国产
投 递 者 微生毅
操作系统 Android
开源组织
适用人群 未知
 软件概览

Overview

AxbasePlugin是轻量级开源Android插件化开发框架。可实现在不重新安装的情况下动态更新应用。

Features

  • 完整解决方案,不止核心引擎
  • 非隔离式,宿主和插件间可自由通信
  • 非侵入式设计,插件和普通App代码编写方式无区别
  • 插件可作为独立App安装运行,便于测试和独立分发
  • 支持Service等四大组件,和.so文件
  • 支持assets目录中预置插件和网络下载方式
  • 不需要手动分配资源ID或者使用定制aapt打包
  • 最小化Hook系统私有API数量,运行更稳定
  • 插件库大小不到60k,极致体积

Source Code

  • 源码中axbaseCore为插件框架的核心代码。
  • axbaseHostApp和axbasePlugin分别为宿主Demo和插件Demo。
  • 其中axbaseHostApp为AndroidStudio项目,其他为EclipseADT项目。

用法

在宿主AndroidMainifest.xml注册插件使用的组件:

<service android:name="info.axbase.app.UpdateService"/>
<activity android:name="info.axbase.plugin.ActivityStub"/>

在Application.onCreate(必须是Application的)中初始化。

PluginClient.init(this);

启动插件:

PluginClient.getInstance()
.launch("071d9574-8332-e400-e438-a272329af08b(你新建项目获得的AppID)", MainActivity.this, true);

插件包0729c758-3216-3c80-3113-0242ac110150@0.apk放入assets目录中。

Links

有其他问题请提在Issues页

 相关资料
  • 本文向大家介绍详解开源的JavaScript插件化框架MinimaJS,包括了详解开源的JavaScript插件化框架MinimaJS的使用技巧和注意事项,需要的朋友参考一下 本文介绍我开发的一个JavaScript编写的插件化框架——MinimaJS,完全开源,源码下载地址:https://github.com/lorry2018/minimajs。该框架参考OSGi规范,将该规范定义的三大插件

  • 本文向大家介绍JavaScript插件化开发教程(五),包括了JavaScript插件化开发教程(五)的使用技巧和注意事项,需要的朋友参考一下 一,开篇分析 Hi,大家好!前两篇文章我们主要讲述了以“jQuery的方式如何开发插件”,以及过程化设计与面向对象思想设计相结合的方式是如何设计一个插件的,两种方式各有利弊取长补短,嘿嘿嘿,废话少说,进入正题。直接上实际效果图:   大家看到了吧,这是一个

  • 本文向大家介绍JavaScript插件化开发教程(六),包括了JavaScript插件化开发教程(六)的使用技巧和注意事项,需要的朋友参考一下 一,开篇分析 今天这篇文章我们说点什么那?嘿嘿嘿。我们接着上篇文章对不足的地方进行重构,以深入浅出的方式来逐步分析,让大家有一个循序渐进提高的过程。废话少说,进入正题。让我们先来回顾一下之前的 Js部分的代码,如下:   效果如下图所示:   a)----

  • 上一节,我们看到了一个完整的 Kibana 插件的官方用例。一般来说,我们不太会需要自己从头到尾写一个 angular app 出来。最常见的情况,应该是在 Kibana 功能的基础上做一定的二次开发和扩展。其中,可视化效果应该是重中之重。本节,以一个红绿灯效果,演示如何开发一个 Kibana 可视化插件。 插件目录生成 Kibana 开发组提供了一个简单的工具,辅助我们生成一个 Kibana 插

  • FIS3 是以 File 对象为中心构建编译的,每一个 File 都要经历编译、打包、发布三个阶段。运行原理讲述了 FIS3 中的插件扩展点;那么本节就将说明一个插件如何开发; 如上图,编译起初,扫描项目目录下的所有文件(不包含指定排除文件),后实例化 File 对象,并对 File 内容进行编译分析; 编译阶段插件 在编译阶段,文件是单文件进行编译的,这个阶段主要是对文件内容的编译分析;这个阶段

  • 插件需要 export 一个函数,函数会接收到两个参数,第一个是 build-scripts 提供的 pluginAPI,第二个是用户传给插件的自定义参数,如下: module.exports = (pluginAPI, options) => { const { context, log, onHook } = pluginAPI; }; pluginAPI

  • 初始化插件 你可以通过 create-umi 直接创建一个 umi 插件的脚手架: $ yarn create umi --plugin 在 umi 中,插件实际上就是一个 JS 模块,你需要定义一个插件的初始化方法并默认导出。如下示例: export default (api, opts) => { // your plugin code here }; 需要注意的是,如果你的插件需要发

  • 插件开发 消费器插件 继承AbstractDataConsumer类 通过spring.factories发布: cn.vbill.middleware.porter.core.task.consumer.DataConsumer=xxx 通过配置文件生效: porter.task[index].consumer.consumerName=pluginName EventConverte