CN106648559A - Android应用插件化开发系统和方法 - Google Patents
Android应用插件化开发系统和方法 Download PDFInfo
- Publication number
- CN106648559A CN106648559A CN201510718711.7A CN201510718711A CN106648559A CN 106648559 A CN106648559 A CN 106648559A CN 201510718711 A CN201510718711 A CN 201510718711A CN 106648559 A CN106648559 A CN 106648559A
- Authority
- CN
- China
- Prior art keywords
- plug
- apk
- unit
- card cage
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
一种Android应用插件化开发系统和方法,系统包括:与主应用绑定的一个插件框架和至少一个插件apk;所述插件apk包括一描述文件,所述描述文件内记录有所述插件apk的程序入口代码;每个所述插件apk在安装时被解析且解析信息保存在插件框架的特定目录下,所述插件框架用于根据所述特定目录下的所述解析信息中的描述文件运行插件apk。由于插件框架可根据描述文件直接运行插件apk,功能代码独立存在不相互依赖,使得应用源码的复杂度大大下降;插件可以以更新资源(如更新特定目录下的解析信息)的方式更新,不需要经过系统安装新的apk来更新应用;主应用相当于一个统一的应用入口,减少用户手机桌面上安装的app数量,方便管理一个系列的app。
Description
技术领域
本发明涉及Android应用平台开发领域,尤其涉及一种Android应用插件化开发系统以及Android应用插件化开发方法。
背景技术
插件化开发通常是指将复杂应用的功能分解成一个个独立的模块,并打包成独立的可运行文件,由插件框架调用启动不同的模块可运行文件,将原来的大系统大应用进行分割,不同模块可以独立更新、插拔而不需要影响到整个应用或其他模块,可保证系统的可扩展性、灵活性。
随着移动互联网的发展,目前市面上单个移动应用的功能越来越多,越来越复杂,对应用本身的架构及扩展性造成很大的挑战,原来小团队规模开发的应用随着市场需求的增加不得不面对功能爆炸式的增长,如何有序地驾驭应用复杂度的增长成为近年来移动端架构的主题。当前,Android应用开发市面上主要使用的是插件化开发,以此来实现应用功能模块化、独立化的运作。比如大家熟知的淘宝、支付宝、微信都具备插件化开发的能力。当需要增加应用新功能时,只需要在服务端发布该新功能的插件模块,前台应用就能更新新的功能到本地客户端,为应用的更新、规划提供更便捷的解决方案。一个典型的例子就是微信中打飞机游戏的插件化发布。在微信发布打飞机游戏的时候,大部分客户端是不具备该游戏功能模块的,而是使用下载更新插件的方法动态下载游戏到本地并运行,为微信提供强大的终端运营能力。
目前,Android市面上仅有阿里巴巴公司开源的Atlas应用框架可供实现插件化开发。Atlas框架支持对Android工程单独打包成框架可运行文件,并由框架调用启动,但是Atlas需要对Android sdk中apptool打包工具进行改写,打包出的可运行文件不能再被Android系统运行,并且开发时需要为eclipse ide打上开发插件,不能像开发普通应用一样开发插件,对应用的开发调试有一定限制,不够便捷、高效。
因此,总的来说,现有技术存在如下问题:应用功能模块随着需求增加复杂度、耦合度增加,易造成应用不稳定风险;微小的模块变动就必须对应用进行全量升级,造成用户流量的浪费以及不好的用户体验;相关功能app越来越多,用户手机上的应用繁多,不方便统一管理,对用户桌面体验影响很大。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种Android应用插件化开发系统和方法。
本发明解决其技术问题所采用的技术方案是:构造一种Android应用插件化开发系统,包括:与主应用绑定的一个插件框架和至少一个插件apk;所述插件apk包括一描述文件,所述描述文件内记录有所述插件apk的程序入口代码;每个所述插件apk在安装时被解析且解析信息保存在插件框架的特定目录下,所述插件框架用于根据所述特定目录下的所述解析信息中的描述文件运行插件apk。
在本发明所述的Android应用插件化开发系统中,所述的运行插件apk包括:插件框架基于特定目录下的解析信息,通过hook技术构造出插件apk的运行环境,并读取描述文件内记录的程序入口代码,利用读取的程序入口代码替代主应用的程序入口代码进而启动相应的插件apk。
在本发明所述的Android应用插件化开发系统中,还包括一个library模块,任意的两个插件apk之间以及主应用与插件apk之间通过所述library模块通信,所述library模块用于任意的两个插件apk之间以及主应用与插件apk之间的数据统一管理和事件分发管理。
在本发明所述的Android应用插件化开发系统中,所述插件框架和所述插件apk均遵循OSGi规范。
本发明还公开了一种Android应用插件化开发方法,所述方法包括:
S1、将主应用和一个插件框架绑定;增设一描述文件到插件apk中,所述描述文件内记录有所述插件apk的程序入口代码;
S2、对插件apk进行解析,将解析信息保存在插件框架的特定目录下;
S3、插件框架根据所述特定目录下的所述解析信息中的描述文件运行插件apk。
在本发明所述的Android应用插件化开发方法中,
所述步骤S3包括:
S31、插件框架基于特定目录下的解析信息,通过hook技术构造出插件apk的运行环境;
S32、插件框架读取描述文件内记录的程序入口代码,利用读取的程序入口代码替代主应用的程序入口代码进而启动相应的插件apk。
在本发明所述的Android应用插件化开发方法中,所述方法还包括:增设一个用于数据统一管理和事件分发管理的library模块,任意的两个插件apk之间以及主应用与插件apk之间通过所述library模块通信。
在本发明所述的Android应用插件化开发方法中,所述插件框架和所述插件apk均遵循OSGi规范。
实施本发明的Android应用插件化开发系统和方法,具有以下有益效果:本发明中插件框架可根据描述文件直接运行插件apk,因此用户可以将应用功能的业务分成不同的工程做成单独的插件apk,最终集成到主应用中即可,分解了原先代码耦合在一起的弊端,由于功能代码独立存在不相互依赖,使得应用源码的复杂度大大下降;其次,应用模块以插件形式存在后,被当做资源集成到主应用中,插件可以以更新资源(如更新特定目录下的解析信息)的方式更新,而不需要经过系统安装新的apk来更新应用;而且不仅仅可以将应用的功能模块以插件的方式改造,对于其他的应用可以通过增设描述文件后集成进来,主应用相当于一个统一的应用入口,以减少用户手机桌面上安装的app数量,方便用户统一管理一个系列的app,提升手机桌面的用户体验。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明Android应用插件化开发系统的结构示意图;
图2是本发明Android应用插件化开发方法的流程图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
如图1所示,是本发明Android应用插件化开发系统的结构示意图。
本发明的Android应用插件化开发系统,包括:与主应用绑定的一个插件框架、library模块和至少一个插件apk。
所述插件apk包括一描述文件,所述描述文件内记录有所述插件apk的程序入口代码activity。其中,增加了描述文件的插件apk的创建过程如下:
首先,在普通的android工程的asset文件夹下增加插件描述文件,例如在asset文件夹下增加名称为plugin.properties;
然后,对描述文件进行编辑,设定插件入口描述,例如plugin.properties文件中写入:Bundle-MainActivity=某个插件apk的入口activity;
最后,将工程编译并打包成apk文件,即可完成插件创建。
插件框架在安装插件apk时,会把打包好的apk包解压到特定目录下,启动时从特定目录下的asset文件夹下读取描述文件,并加载插件apk的代码和资源,由描述文件指定的入口activity启动插件。
其中,所述插件框架和所述插件apk均遵循OSGi规范。OSGi(Open ServiceGateway Initiative)是面向Java的动态模型系统。每一个apk插件被映射到插件框架中就是一个Bundle对象,完整路径为:org.OSGi.framework.Bundle。通过这个Bundle能获取到插件apk的基本信息(本身静态属性)以及描述文件。
因此,所述的运行插件apk具体包括:插件框架基于特定目录下的解析信息,通过hook技术构造出插件apk的运行环境,并读取描述文件内记录的程序入口代码activity,利用读取的程序入口代码activity替代即将加载的主应用的程序入口代码activity进而启动相应的插件apk。
插件框架和所述插件apk均遵循OSGi规范。插件框架用于模拟系统的行为,对apk文件进行解析、加载、运行。任何一个应用,只要引用了插件框架这个库,即可具备插件框架的能力,进而可启动插件。通过模拟Hack系统安装、启动APK的行为,对插件apk的安装包进行模拟安装和启动,插件框架具备系统启动apk文件的能力。使用插件框架后,相当于在Android系统上再构建了一个系统层,用于管理插件apk。
使用插件化开发模式之后,使得应用的可扩展能力增强,有效控制安装包体积。原有Android在集成应用时,只能进行代码级的集成,并且造成代码间耦合度增加、应用稳定性下降等问题。而利用本发明的插件化开发系统,可以方便的进行独立应用集成,而不需要大幅修改主体工程源码,在开发效率、测试效率上得到提升。
在插件apk启动之后,通过library模块实现任意的两个插件apk之间以及者主应用与插件apk之间的通信。Library模块使得插件apk与主应用共享了同一个运行空间,这使得插件既可以以独立的apk的形式存在,又可以和主应用之间相互调用,独立且灵活。
library模块是一个公用的代码模块,实现插件与插件以及插件与主应用之间的数据库访问的管理、对事件分发的管理、对网络请求的管理等,其中最主要的是对event事件的管理,主应用和插件均通过library模块进行event事件的收发,所以可以通过library模块进行插件与插件、插件与主应用之间的通信。本插件框架的优势,就是可以让独立存在的插件也能和主应用进行方便的通信以及访问主应用的数据和资源,做到既可以独立运行,又可以协作运行。
例如,企信(例如微信)主应用启动了插件a,插件a通过企信的选择人员界面选择人员,选择成功后,企信将人员选择结果数据以event事件方式包装并发送给library模块,library模块将event事件分发到插件a,插件a接收到结果后,使用这个结果通过library对主应用发送事件请求创建一个讨论组,主应用收到请求并创建成功后,将结果又通过event事件的方式传递到插件a,插件a得到讨论组创建成功后的事件后可以进行讨论组会话。该例中创建讨论组的功能是主应用提供的,而插件通过event事件的方式调用了主应用的功能,而这些流程中,插件不需要引用主应用的代码。同样的,插件与插件之间的调用也可以通过event,避免了损坏插件独立性的特点。
本发明可以使应用具备类似Android系统的行为能力,来启动一个插件apk可运行文件,而不需要预先在用户手机系统内安装。且启动的插件apk可以类似于普通Android工程开发,而不需要进行额外的配置开发环境。
参考图2,是本发明Android应用插件化开发方法的流程图。
相应的,本发明还公开了一种基于所述系统的Android应用插件化开发方法,所述方法包括:
S1、将主应用和一个插件框架绑定;增设一描述文件到插件apk中,所述描述文件内记录有所述插件apk的程序入口代码;所述插件框架和所述插件apk均遵循OSGi规范。
其中,增加了描述文件的插件apk的创建过程如下:
首先,在普通的android工程的asset文件夹下增加插件描述文件,例如在asset文件夹下增加名称为plugin.properties;
然后,对描述文件进行编辑,设定插件入口描述,例如plugin.properties文件中写入:Bundle-MainActivity=某个插件apk的入口activity;
最后,将工程编译并打包成apk文件,即可完成插件创建。
S2、对插件apk进行解析,将解析信息保存在插件框架的特定目录下;
每一个apk插件解析后,被映射到插件框架中就是一个Bundle对象,完整路径为:org.OSGi.framework.Bundle。
S3、插件框架根据所述特定目录下的所述解析信息中的描述文件运行插件apk。通过这个Bundle能获取到插件apk的基本信息(本身静态属性)以及描述文件。
插件框架在安装插件apk时,会把打包好的apk包解压到特定目录下,启动时从特定目录下的asset文件夹下读取描述文件,并加载插件apk的代码和资源,由描述文件指定的入口activity启动插件。
其中,
具体的,所述步骤S3包括:
S31、插件框架基于特定目录下的解析信息,通过hook技术构造出插件apk的运行环境;
S32、插件框架读取描述文件内记录的程序入口代码,利用读取的程序入口代码替代主应用的程序入口代码进而启动相应的插件apk。
在启动一个插件apk之后,任意的两个插件apk之间以及主应用与插件apk之间通过一个library模块通信。
library模块是一个公用的代码模块,实现插件与插件以及插件与主应用之间的数据库访问的管理、对事件分发的管理、对网络请求的管理等,其中最主要的是对event事件的管理,主应用和插件均通过library模块进行event事件的首发,所以可以通过library模块进行插件与插件、插件与主应用之间的通信。本插件框架的优势,就是可以让独立存在的插件也能和主应用进行方便的通信以及访问主应用的数据和资源,做到既可以独立运行,又可以协作运行。
综上所述,本发明中插件框架可根据描述文件直接运行插件apk,因此用户可以将应用功能的业务分成不同的工程做成单独的插件apk,最终集成到主应用中即可,分解了原先代码耦合在一起的弊端,由于功能代码独立存在不相互依赖,使得应用源码的复杂度大大下降;其次,应用模块以插件形式存在后,被当做资源集成到主应用中,插件可以以更新资源(如更新特定目录下的解析信息)的方式更新,而不需要经过系统安装新的apk来更新应用;而且不仅仅可以将应用的功能模块以插件的方式改造,对于其他的应用增设描述文件后集成进来,主应用相当于一个统一的应用入口,以减少用户手机桌面上安装的app数量,方便用户统一管理一个系列的app,提升手机桌面的用户体验。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (8)
1.一种Android应用插件化开发系统,其特征在于,包括:与主应用绑定的一个插件框架和至少一个插件apk;所述插件apk包括一描述文件,所述描述文件内记录有所述插件apk的程序入口代码;每个所述插件apk在安装时被解析且解析信息保存在插件框架的特定目录下,所述插件框架用于根据所述特定目录下的所述解析信息中的描述文件运行插件apk。
2.根据权利要求1所述的Android应用插件化开发系统,其特征在于,所述的运行插件apk包括:插件框架基于特定目录下的解析信息,通过hook技术构造出插件apk的运行环境,并读取描述文件内记录的程序入口代码,利用读取的程序入口代码替代即将加载的主应用的程序入口代码进而启动相应的插件apk。
3.根据权利要求1所述的Android应用插件化开发系统,其特征在于,还包括一个library模块,任意的两个插件apk之间以及主应用与插件apk之间通过所述library模块通信,所述library模块用于任意的两个插件apk之间以及主应用与插件apk之间的数据统一管理和事件分发管理。
4.根据权利要求1所述的Android应用插件化开发系统,其特征在于,所述插件框架和所述插件apk均遵循OSGi规范。
5.一种Android应用插件化开发方法,其特征在于,所述方法包括:
S1、将主应用和一个插件框架绑定;增设描述文件到插件apk中,所述描述文件内记录有所述插件apk的程序入口代码;
S2、对插件apk进行解析,将解析信息保存在插件框架的特定目录下;
S3、插件框架根据所述特定目录下的所述解析信息中的描述文件运行插件apk。
6.根据权利要求5所述的Android应用插件化开发方法,其特征在于,所述步骤S3包括:
S31、插件框架基于特定目录下的解析信息,通过hook技术构造出插件apk的运行环境;
S32、插件框架读取描述文件内记录的程序入口代码,利用读取的程序入口代码替代即将加载的主应用的程序入口代码进而启动相应的插件apk。
7.根据权利要求5所述的Android应用插件化开发方法,其特征在于,所述方法还包括:增设一个用于数据统一管理和事件分发管理的library模块,任意的两个插件apk之间以及主应用与插件apk之间通过所述library模块通信。
8.根据权利要求5所述的Android应用插件化开发方法,其特征在于,所述插件框架和所述插件apk均遵循OSGi规范。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510718711.7A CN106648559A (zh) | 2015-10-28 | 2015-10-28 | Android应用插件化开发系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510718711.7A CN106648559A (zh) | 2015-10-28 | 2015-10-28 | Android应用插件化开发系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106648559A true CN106648559A (zh) | 2017-05-10 |
Family
ID=58830879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510718711.7A Pending CN106648559A (zh) | 2015-10-28 | 2015-10-28 | Android应用插件化开发系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648559A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273151A (zh) * | 2017-05-25 | 2017-10-20 | 西安理工大学 | 一种安全的Android App功能插件化方法 |
CN107402761A (zh) * | 2017-07-25 | 2017-11-28 | 青岛海信电器股份有限公司 | 应用修复方法及装置 |
CN109144533A (zh) * | 2017-06-28 | 2019-01-04 | 北京嘀嘀无限科技发展有限公司 | 一种应用程序的更新及加载的方法、系统及计算机装置 |
CN109725952A (zh) * | 2019-01-07 | 2019-05-07 | 深圳市网心科技有限公司 | 一种应用程序插件化的方法、系统以及相关装置 |
CN110389762A (zh) * | 2018-04-19 | 2019-10-29 | 北京京东尚科信息技术有限公司 | 在Android工程中处理AAR包的方法和装置 |
CN110704124A (zh) * | 2019-09-19 | 2020-01-17 | 国云科技股份有限公司 | 一种流数据结构化处理系统及方法 |
CN110908734A (zh) * | 2019-11-15 | 2020-03-24 | 网易(杭州)网络有限公司 | 基于插件化的应用组合方法、装置、终端设备及存储介质 |
CN111638921A (zh) * | 2020-06-01 | 2020-09-08 | 南京雷鲨信息科技有限公司 | 运行于智能终端的插件管理系统及方法 |
CN113626391A (zh) * | 2021-08-27 | 2021-11-09 | 四川虹美智能科技有限公司 | 操作系统缓存文件处理方法 |
CN116302190A (zh) * | 2023-03-14 | 2023-06-23 | 北京海致星图科技有限公司 | 一种基于知识图谱平台的新型插件化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657142A (zh) * | 2015-02-12 | 2015-05-27 | 中国科学院计算机网络信息中心 | 一种基于OSGi技术的CCFD系统 |
CN104932928A (zh) * | 2014-03-17 | 2015-09-23 | 无锡天脉聚源传媒科技有限公司 | 一种基于java的插件化开发方法及系统 |
-
2015
- 2015-10-28 CN CN201510718711.7A patent/CN106648559A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932928A (zh) * | 2014-03-17 | 2015-09-23 | 无锡天脉聚源传媒科技有限公司 | 一种基于java的插件化开发方法及系统 |
CN104657142A (zh) * | 2015-02-12 | 2015-05-27 | 中国科学院计算机网络信息中心 | 一种基于OSGi技术的CCFD系统 |
Non-Patent Citations (2)
Title |
---|
APKPLUG: "如何使用ApkPlug插件化我的第一个应用", 《HTTP://BLOG.SINA.COM.CN/S/BLOG_13B5C7E0A0102VOFU.HTML》 * |
梁大帅: "android插件化-apkplug框架基本结构-01", 《HTTPS://MY.OSCHINA.NET/U/138488/BLOG/263463》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273151A (zh) * | 2017-05-25 | 2017-10-20 | 西安理工大学 | 一种安全的Android App功能插件化方法 |
US10936298B2 (en) | 2017-06-28 | 2021-03-02 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for updating and loading an application |
CN109144533A (zh) * | 2017-06-28 | 2019-01-04 | 北京嘀嘀无限科技发展有限公司 | 一种应用程序的更新及加载的方法、系统及计算机装置 |
CN107402761A (zh) * | 2017-07-25 | 2017-11-28 | 青岛海信电器股份有限公司 | 应用修复方法及装置 |
CN110389762A (zh) * | 2018-04-19 | 2019-10-29 | 北京京东尚科信息技术有限公司 | 在Android工程中处理AAR包的方法和装置 |
CN109725952B (zh) * | 2019-01-07 | 2021-09-24 | 深圳市网心科技有限公司 | 一种应用程序插件化的方法、系统以及相关装置 |
CN109725952A (zh) * | 2019-01-07 | 2019-05-07 | 深圳市网心科技有限公司 | 一种应用程序插件化的方法、系统以及相关装置 |
CN110704124A (zh) * | 2019-09-19 | 2020-01-17 | 国云科技股份有限公司 | 一种流数据结构化处理系统及方法 |
CN110908734A (zh) * | 2019-11-15 | 2020-03-24 | 网易(杭州)网络有限公司 | 基于插件化的应用组合方法、装置、终端设备及存储介质 |
CN111638921A (zh) * | 2020-06-01 | 2020-09-08 | 南京雷鲨信息科技有限公司 | 运行于智能终端的插件管理系统及方法 |
CN113626391A (zh) * | 2021-08-27 | 2021-11-09 | 四川虹美智能科技有限公司 | 操作系统缓存文件处理方法 |
CN113626391B (zh) * | 2021-08-27 | 2023-04-14 | 四川虹美智能科技有限公司 | 操作系统缓存文件处理方法 |
CN116302190A (zh) * | 2023-03-14 | 2023-06-23 | 北京海致星图科技有限公司 | 一种基于知识图谱平台的新型插件化方法 |
CN116302190B (zh) * | 2023-03-14 | 2023-10-31 | 北京海致星图科技有限公司 | 一种基于知识图谱平台的新型插件化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648559A (zh) | Android应用插件化开发系统和方法 | |
JP5282324B2 (ja) | ユーザーインターフェースデータのためのデータコンテナ | |
CN109542445A (zh) | 一种Android插件化开发的方法和装置 | |
CN104899047B (zh) | 网页框架部署方法和系统 | |
CN105677302B (zh) | 一种应用程序模块化开发方法以及装置 | |
CN112835560A (zh) | Web多终端低代码智能软件开发平台 | |
US10147066B2 (en) | Business process framework | |
US20100306638A1 (en) | Object templates for data-driven applications | |
CN111414193A (zh) | 基于微服务框架的业务系统的实现方法及相关装置 | |
CN110543328A (zh) | 基于Ambari的跨平台组件管理方法、系统、终端及存储介质 | |
CN101432715B (zh) | 流程编码 | |
US8752030B1 (en) | Process abstraction and tracking, systems and methods | |
CN109032590B (zh) | 一种可视化开发环境的配置方法、装置、终端及存储介质 | |
CN102223736A (zh) | 与使用多模式应用的多模式设备进行通信的服务器 | |
CN115993966B (zh) | 应用开发系统及方法 | |
CN112148278A (zh) | 可视化的区块链智能合约框架及智能合约开发部署方法 | |
CN101420787B (zh) | 使用多模式应用以多种模式进行通信的设备 | |
CN108733386A (zh) | 远程日志实时查看方法、系统、计算机设备和存储介质 | |
CN109298883A (zh) | 一种教育平台下的自动生成组件文件的方法及电子设备 | |
CN101414260A (zh) | 用于创建多模式应用的系统和方法 | |
US20090037871A1 (en) | Community-centric management of composite applications | |
CN106506197A (zh) | 一种管理核心业务平台的方法和装置 | |
CN108491193A (zh) | Eclipse RCP产品构建方法、装置、终端及介质 | |
US20230132531A1 (en) | Software Development Project Infrastructure Builder Tool | |
CN117093286B (zh) | 插件生成方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |