CN103744669B - 安卓系统Activity插件的创建、调用方法及系统 - Google Patents
安卓系统Activity插件的创建、调用方法及系统 Download PDFInfo
- Publication number
- CN103744669B CN103744669B CN201310738209.3A CN201310738209A CN103744669B CN 103744669 B CN103744669 B CN 103744669B CN 201310738209 A CN201310738209 A CN 201310738209A CN 103744669 B CN103744669 B CN 103744669B
- Authority
- CN
- China
- Prior art keywords
- activity
- units
- plug
- unit
- context
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
一种安卓系统Activity插件的创建方法和系统,通过建立Context子类的信息接口,并将其覆盖获取资源的类方法,通过Context子类返回dex格式文件的资源,从而实现可以动态的增加Activity插件的功能,而且可以使用Android资源类来查找资源。本发明还公开了一种基于上述安卓系统Activity插件的调用方法和系统,利用动态代理拦截方式修改启动的Activity为Activity插件容器,使得Activity插件之间可以互相调用,且能够调用未注册Activity插件。
Description
技术领域
本发明涉及Android系统开发领域,特别是涉及一种安卓系统Activity插件的创建方法和系统。
背景技术
现如今Android系统已经普遍运用到生活当中,Android系统以其操作简单且方便快捷而越来越为人们所接受。
一般的安卓系统Activity插件的创建方法和系统,通过Java反射机制替换全局类加载到自定义的dalvik.system.DexClassLoader,从而在程序运行过程中改变Activity的具体实现。
但是这种方式也有局限性,首先在项目中开发的Activity必须和项目的Manifest.xml中指定的类名相同,并且由于Manifest.xml是安装包的固有属性,无法在运行时改变,所以无法动态的增加Activity插件,且Android资源类也找不到。
发明内容
基于此,有必要针对无法动态增加Activity插件的问题,提供一种安卓系统Activity插件的创建方法和系统。
一种安卓系统Activity插件的创建方法,包括步骤:
根据选择的dex格式文件建立覆盖获取资源的类方法的Context子类,并将所述Context子类实例化生成Context实例;
通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例;
将所述Context子类实例化生成的实例替换所述Activity实例的成员变量mBase;
将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到Activity插件。
一种安卓系统Activity插件的创建系统,包括子类处理单元、活动类实例化单元、实例替换单元和事件转发单元;
所述子类处理单元用于根据选择的dex格式文件建立覆盖获取资源的类方法的Context子类,并将所述Context子类实例化生成Context实例;
所述活动类实例化单元用于通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例;
所述实例替换单元用于将所述Context子类实例化生成的实例替换所述Activity实例的成员变量mBase;
所述事件转发单元用于将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到Activity插件。
一种安卓系统Activity插件的调用方法,包括所述的安卓系统Activity插件的创建方法,以及启动Activity插件容器,利用动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数;其中,所述Activity插件容器存储有所述创建的Activity插件;
将预先获取的Activity插件的参数替换启动Activity的Intent参数,然后启动所述Activity插件容器中Activity插件。
一种安卓系统Activity插件的调用系统,包括上述安卓系统Activity插件的创建系统、Activity插件容器启动单元、Intent参数采集单元和参数替换处理单元;
所述安卓系统Activity插件的创建系统用于创建Activity插件;
所述Activity插件容器启动单元用于启动Activity插件容器;
所述Intent参数采集单元用于利用动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数;
所述参数替换处理单元用于将预先获取的Activity插件的参数替换启动Activity的Intent参数,然后启动所述Activity插件容器中Activity插件。
上述安卓系统Activity插件的创建方法和系统,根据选择的dex格式文件建立覆盖获取资源的类方法的Context子类,并将所述Context子类实例化生成Context实例,通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例,将所述Context子类实例化生成的实例替换所述Activity实例的Context,最后将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到Activity插件。通过建立Context子类的信息接口,并将其覆盖获取资源的类方法,通过Context子类返回dex格式文件的资源,从而实现可以动态的增加Activity插件的功能,而且可以使用Android资源类来查找资源。
上述安卓系统Activity插件的调用方法和系统,通过动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数,将预先获取的Activity插件的参数替换启动Activity的Intent参数,这种利用动态代理拦截方式修改启动的Activity为Activity插件容器,使得Activity插件之间可以互相调用,且能够调用未注册Activity插件。
附图说明
图1为安卓系统Activity插件的创建方法其中一个实施例的方法流程图;
图2为安卓系统Activity插件的创建方法其中另一个实施例的方法流程图;
图3为安卓系统Activity插件的创建系统其中一个实施例的方法流程图;
图4为安卓系统Activity插件的创建系统其中另一个实施例的方法流程图;
具体实施方式
如图1所示,一种安卓系统Activity插件的创建方法,包括步骤:
步骤S110,根据选择的dex格式文件建立覆盖获取资源的类方法的Context子类,并将所述Context子类实例化生成Context实例。
在本实施例中,可以实现自定义的Context,所述Context为上下文,即在Android代表应用环境的全局信息接口,通过所述Context覆盖其中获取资源的类方法用以返回dex格式文件的资源。所述Context子类为ContextThemeWrapper的子类,即实现ContextThemeWrapper的子类,覆盖其中的getAssets、getResources、getTheme、getClassLoader等类方法,并通过AssetManager从插件APK中提取资源,所述AssetManager为资源管理类,用于根据文件名来查找资源。在本实施例中,ContextThemeWrapper只是在ContextWrapper的基础上加入了主题Theme相关的一些内容,对于Activity来说需要处理一些主题Theme相关的东西。ContextWrapper是对Context的简单封装,getAssets用于返回AssetManager实例,getResources用于返回Resources实例,Resources是一个资源类,通过该实例可以获得指定的资源,如图片、音乐、动画等。getTheme用于返回Theme实例,getClassLoader用于返回DexClassLoader生成ClassLoader实例。所述getClassLoader为Dex格式文件的类加载器,所述ClassLoader为类加载器。
步骤S120,通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例。
在本实施例中,所述反射为JAVA反射机制,所述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个实例,都能够调用它的任意一个方法的动态获取信息以及动态调用实例的方法。
步骤S130,将所述Context子类实例化生成的实例替换所述Activity实例的成员变量mBase。所述成员变量mBase为ContextWrapper中的一个变量,作用是在当前Context实例的类方法被调用时,可以转化为调用mBase指向的Context实例的相同类方法。所述Activity是ContextThemeWrapper的子类,所述ContextThemeWrapper是ContextWrapper的子类。
步骤S140,将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到Activity插件。在本实施例中,可以模拟Activity的生存期,即容器中的所有Activity事件都转发到插件Activity实例中。
在本实施例中,所述安卓系统即Android系统。所述Activity为Android系统四大组件之一,是Android应用程序的一个用户接口,用户和应用程序直接进行交互的接口。Activity实际上也是一个各种控件的一个容器,可以把控件摆放进去。本实施例中,在Activity插件容器中将建立的ContextThemeWrapper子类覆盖获取资源的类方法,并通过实例替换的形式将所述ContextThemeWrapper子类实例化生成的实例替换所述Activity插件容器中的预定的Activity类生成的Activity实例。
在一个具体的实施例中,可以通过DexClassLoader加载dex格式文件得到ClassLoader实例,通过创建一个AssetManager实例用于加载dex格式文件的资源,通过AssetManager实例创建一个Resources实例,进一步派生一个Context的子类,重写父类方法getAssets并返回AssetManager实例,重写父类方法getResources并返回Resources实例,重写父类方法getClassLoader并返回ClassLoader实例。通过ClassLoader实例反射出dex格式文件中给定的Activity类,创建一个Activity实例,创建一个Context子类实例,替换Activity实例的成员变量mBase,在实例运行过程中可以直接使用dex中的资源。再通过一个携带指定dex文件路径以及Activity类名的Intent启动一个空白的Activity,作为Activity插件的容器。在插件容器中加载给定dex格式文件,创建Activity插件。最终在容器中显示Activity插件的界面,容器中的所有Activity事件转发到Activity插件中。
上述安卓系统Activity插件的创建方法,根据选择的dex格式文件建立覆盖获取资源的类方法的Context子类,并将所述Context子类实例化生成Context实例,通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例,将所述Context子类实例化生成的实例替换所述Activity实例的成员变量mBase,最后将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到Activity插件。通过建立Context子类的信息接口,并将其覆盖获取资源的类方法,通过Context子类返回dex格式文件的资源,从而实现可以动态的增加Activity插件的功能,而且可以使用Android资源类来查找资源。
如图2所示,在其中一个实施例中,所述的安卓系统Activity插件的创建方法,在所述步骤S110之前,还包括步骤S150:
在Activity插件容器开启时,动态加载dex格式文件。在本实施例中,可以预先动态加载dex格式文件,便于对所属dex格式文件进行后续处理。
在其中一个实施例中,所述的安卓系统Activity插件的创建方法,在所述步骤S150之前,还包括步骤S160:
通过Intent携带Activity插件参数启动用于创建Activity插件的Activity插件容器。在本实施例中,android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity和Service之间的交互。因此,Intent在这里起着一个媒体中介的作用,专门提供互相调用的相关信息,实现调用者与被调用者之间的解耦可以理解为一个可以在Android四大组件中传递的数据包。可以开启Activity插件容器,便于后续处理步骤进行实施。
一种安卓系统Activity插件的调用方法,包括所述的安卓系统Activity插件的创建方法,以及启动Activity插件容器,利用动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数;其中,所述Activity插件容器存储有所述创建的Activity插件;
将预先获取的Activity插件的参数替换启动Activity的Intent参数,然后启动所述Activity插件容器中Activity插件。
在本实施例中,所述动态代理是java.lang.reflect包的一部分,它允许程序创建代理实例,代理实例能实现一个或多个已知接口,并用反射代替内置的虚方法分派,编程地分派对接口方法的调用。这个过程允许实现“截取”方法调用,重新路由它们或者动态地添加功能。通过动态代理拦截系统类ActivityManager的具体实现接口IActivityManager获取启动Activity的Intent参数,并将将预先获取的Activity插件的参数替换启动Activity的Intent参数,从而实现Activity插件之间互相调用,且能够调用未注册Activity插件。在本实施例中,所述ActivityManager为Activity管理类,用于管理Activity的启动、关闭等。所述IActivityManager为Activity管理类的具体实现接口。
上述安卓系统Activity插件的调用方法,通过动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数,将预先获取的Activity插件的参数替换启动Activity的Intent参数,这种利用动态代理拦截方式修改启动的Activity为Activity插件容器,使得Activity插件之间可以互相调用,且能够调用未注册Activity插件。
在其中一个实施例中,所述的安卓系统Activity插件的调用方法,在所述将预先获取的Activity插件的参数替换启动Activity的Intent参数,然后启动所述Activity插件容器中Activity插件的步骤之前,还包括步骤:
获取所述Activity插件的参数,所述参数为预定启动的Activity参数。在本实施例中所述预定启动的Activity参数为系统需要启动的Activity参数。
如图3所示,一种安卓系统Activity插件的创建系统,包括子类处理单元110、活动类实例化单元120、实例替换单元130和事件转发单元140;
所述子类处理单元110用于根据选择的dex格式文件建立覆盖获取资源的类方法的Context子类,并将所述Context子类实例化生成Context实例;
所述活动类实例化单元120用于通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例;
所述实例替换单元130用于将所述Context子类实例化生成的实例替换所述Activity实例的成员变量mBase;
所述事件转发单元140用于将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到Activity插件。
上述安卓系统Activity插件的创建系统,根据选择的dex格式文件建立覆盖获取资源的类方法的Context子类,并将所述Context子类实例化生成Context实例,通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例,将所述Context子类实例化生成的实例替换所述Activity实例的成员变量mBase,最后将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到Activity插件。通过建立Context子类的信息接口,并将其覆盖获取资源的类方法,通过Context子类返回dex格式文件的资源,从而实现可以动态的增加Activity插件的功能,而且可以使用Android资源类来查找资源。
如图4所示,在其中一个实施例中,所述的安卓系统Activity插件的创建系统,还包括与所述子类处理单元110连接的插件加载单元150;
所述插件加载单元150用于在Activity插件容器开启时,动态加载dex格式文件。
在其中一个实施例中,所述的安卓系统Activity插件的创建系统,还包括与所述插件加载单元150连接的容器启动单元160;
所述容器启动单元160用于通过Intent携带Activity插件参数启动用于创建Activity插件的Activity插件容器。
由于所述的安卓系统Activity插件的创建系统其他部分技术特征与上述安卓系统Activity插件的创建方法相同,在此不予赘述。
一种安卓系统Activity插件的调用系统,包括上述安卓系统Activity插件的创建系统、Activity插件容器启动单元、Intent参数采集单元和参数替换处理单元;
所述安卓系统Activity插件的创建系统用于创建Activity插件;
所述Activity插件容器启动单元用于启动Activity插件容器;
所述Intent参数采集单元用于利用动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数;
所述参数替换处理单元用于将预先获取的Activity插件的参数替换启动Activity的Intent参数,然后启动所述Activity插件容器中Activity插件。
上述安卓系统Activity插件的调用方法和系统,通过动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数,将预先获取的Activity插件的参数替换启动Activity的Intent参数,这种利用动态代理拦截方式修改启动的Activity为Activity插件容器,使得Activity插件之间可以互相调用,且能够调用未注册Activity插件。
在其中一个实施例中,所述的安卓系统Activity插件的调用系统,还包括与所述参数替换处理单元连接的Activity插件参数获取单元;
所述Activity插件参数获取单元用于获取所述Activity插件的参数,所述参数为预定启动的Activity参数。
由于所述的安卓系统Activity插件的调用系统其他部分技术特征与上述安卓系统Activity插件的调用方法相同,在此不予赘述。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种安卓系统Activity插件的创建方法,其特征在于,包括步骤:
根据选择的dex格式文件建立覆盖获取资源的类方法用以返回dex格式文件的资源的Context子类,并将所述Context子类实例化生成Context实例;
通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例;
将所述Context子类实例化生成的实例替换所述Activity实例的成员变量mBase;
将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到活动Activity插件。
2.根据权利要求1所述的安卓系统Activity插件的创建方法,其特征在于,在所述建立Context子类,将所述Context子类覆盖获取资源的类方法,并将所述Context子类实例化生成实例的步骤之前,还包括步骤:
在Activity插件容器开启时,动态加载dex格式文件。
3.根据权利要求2所述的安卓系统Activity插件的创建方法,其特征在于,在所述动态加载dex格式文件步骤之前,还包括步骤:
通过Intent携带Activity插件参数启动用于创建Activity插件的Activity插件容器。
4.一种安卓系统Activity插件的调用方法,其特征在于,包括如权利要求1至3任一项所述的安卓系统Activity插件的创建方法,以及启动Activity插件容器,利用动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数;其中,所述Activity插件容器存储有所述创建的Activity插件;
将预先获取的Activity插件的参数替换启动Activity的Intent参数,然后启动所述Activity插件容器。
5.根据权利要求4所述的安卓系统Activity插件的调用方法,其特征在于,在所述将预先获取的Activity插件的参数替换启动Activity的Intent参数,然后启动所述Activity插件容器的步骤之前,还包括步骤:
获取所述Activity插件的参数,所述参数为预定启动的Activity参数。
6.一种安卓系统Activity插件的创建系统,其特征在于,包括子类处理单元、活动类实例化单元、实例替换单元和事件转发单元;
所述子类处理单元用于根据选择的dex格式文件建立覆盖获取资源的类方法用以返回dex格式文件的资源的Context子类,并将所述Context子类实例化生成Context实例;
所述活动类实例化单元用于通过反射加载预定的Activity类,并将所述Activity类实例化生成Activity实例;
所述实例替换单元用于将所述Context子类实例化生成的实例替换所述Activity实例的成员变量mBase;
所述事件转发单元用于将Activity插件容器中所有的Activity事件转发至所述Activity实例中,得到Activity插件。
7.根据权利要求6所述的安卓系统Activity插件的创建系统,其特征在于,还包括与所述子类处理单元连接的插件加载单元;
所述插件加载单元用于在Activity插件容器开启时,动态加载dex格式文件。
8.根据权利要求7所述的安卓系统Activity插件的创建系统,其特征在于,还包括与所述插件加载单元连接的容器启动单元;
所述容器启动单元用于通过Intent携带Activity插件参数启动用于创建Activity插件的Activity插件容器。
9.一种安卓系统Activity插件的调用系统,其特征在于,包括权利要求6至8任意一项所述的安卓系统Activity插件的创建系统、Activity插件容器启动单元、Intent参数采集单元和参数替换处理单元;
所述安卓系统Activity插件的创建系统用于创建Activity插件;
所述Activity插件容器启动单元用于启动Activity插件容器;
所述Intent参数采集单元用于利用动态代理拦截系统类ActivityManager的实现接口获取启动Activity的Intent参数;
所述参数替换处理单元用于将预先获取的Activity插件的参数替换启动Activity的Intent参数,然后启动所述Activity插件容器中Activity插件。
10.根据权利要求9所述的安卓系统Activity插件的调用系统,其特征在于,还包括与所述参数替换处理单元连接的Activity插件参数获取单元;
所述Activity插件参数获取单元用于获取所述Activity插件的参数,所述参数为预定启动的Activity参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310738209.3A CN103744669B (zh) | 2013-12-26 | 2013-12-26 | 安卓系统Activity插件的创建、调用方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310738209.3A CN103744669B (zh) | 2013-12-26 | 2013-12-26 | 安卓系统Activity插件的创建、调用方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103744669A CN103744669A (zh) | 2014-04-23 |
CN103744669B true CN103744669B (zh) | 2017-07-18 |
Family
ID=50501689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310738209.3A Active CN103744669B (zh) | 2013-12-26 | 2013-12-26 | 安卓系统Activity插件的创建、调用方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744669B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021024B (zh) * | 2014-06-25 | 2017-06-06 | 广州市久邦数码科技有限公司 | 一种桌面系统功能屏幕的加载方法及其系统 |
CN104077165A (zh) * | 2014-07-09 | 2014-10-01 | 上海卓盟信息科技有限公司 | 基于安卓平台的应用启动运行及管理方法及系统 |
CN104216741A (zh) * | 2014-08-25 | 2014-12-17 | 华中科技大学 | 基于APK动态加载的Android插件化实现方法、装置及交互方法 |
CN105630518A (zh) * | 2014-10-28 | 2016-06-01 | 北京娜迦信息科技发展有限公司 | Android应用软件资源更新的方法和装置 |
CN104375861B (zh) * | 2014-11-04 | 2017-06-09 | 北京奇虎科技有限公司 | 基于安卓平台的应用程序免安装运行的方法、装置及终端 |
CN104699536B (zh) * | 2015-03-18 | 2017-03-15 | 北京奇虎科技有限公司 | 活动组件进程空间分配方法及其相应的装置 |
CN104731625B (zh) * | 2015-03-27 | 2019-02-26 | 北京奇虎科技有限公司 | 一种加载插件的方法、装置和移动终端 |
CN105183457B (zh) * | 2015-08-13 | 2018-11-06 | 北京金山安全软件有限公司 | 一种监听界面生命周期回调的方法及装置 |
CN105159712B (zh) * | 2015-09-01 | 2019-06-07 | 北京金山安全软件有限公司 | 一种启动界面的方法及装置 |
CN106681749B (zh) * | 2015-11-11 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 基于安卓平台的局部代码补丁更新方法及装置 |
CN106909408B (zh) * | 2015-12-23 | 2020-09-11 | 北京奇虎科技有限公司 | 一种调用应用程序的apk插件的方法及装置 |
CN107203524A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种打包APK文件的方法、加载Bundle文件的方法及系统 |
CN107797833B (zh) * | 2016-08-29 | 2020-08-28 | 雪球(北京)技术开发有限公司 | 智能设备上应用程序的界面显示方法 |
CN108170485B (zh) * | 2016-12-05 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 一种插件加载方法、装置及移动终端 |
CN108228266B (zh) * | 2016-12-14 | 2021-08-10 | 阿里巴巴集团控股有限公司 | 一种Android插件框架下不同插件间启动Fragment组件的方法和装置 |
CN108334392B (zh) * | 2018-01-09 | 2019-09-20 | 武汉斗鱼网络科技有限公司 | 安卓系统中启动页面的方法、存储介质、设备及系统 |
CN110347453B (zh) * | 2018-04-04 | 2022-12-09 | 北京神州泰岳软件股份有限公司 | 一种页面显示方法和装置 |
CN110647634A (zh) * | 2018-06-11 | 2020-01-03 | 腾讯科技(北京)有限公司 | 媒体资源的查找方法、装置、存储介质及电子装置 |
CN114546190A (zh) | 2018-11-26 | 2022-05-27 | 华为技术有限公司 | 一种应用显示方法及电子设备 |
CN111949301B (zh) * | 2019-05-14 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 应用程序热更新方法、装置和计算机可读存储介质 |
CN111475227B (zh) * | 2020-04-02 | 2022-02-01 | 深圳创维-Rgb电子有限公司 | 业务插件加载实现方法、装置和终端设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1111502A2 (en) * | 1999-12-16 | 2001-06-27 | Class Technology Co., Ltd. | Management of object oriented classes and methods |
CN102591724A (zh) * | 2011-12-28 | 2012-07-18 | 奇智软件(北京)有限公司 | 消息交互方法及装置 |
CN102915247A (zh) * | 2012-08-31 | 2013-02-06 | 杭州斯凯网络科技有限公司 | Apk插件化管理方法 |
-
2013
- 2013-12-26 CN CN201310738209.3A patent/CN103744669B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1111502A2 (en) * | 1999-12-16 | 2001-06-27 | Class Technology Co., Ltd. | Management of object oriented classes and methods |
CN102591724A (zh) * | 2011-12-28 | 2012-07-18 | 奇智软件(北京)有限公司 | 消息交互方法及装置 |
CN102915247A (zh) * | 2012-08-31 | 2013-02-06 | 杭州斯凯网络科技有限公司 | Apk插件化管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103744669A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103744669B (zh) | 安卓系统Activity插件的创建、调用方法及系统 | |
CN106951233B (zh) | 混合模式智能手机应用开发框架系统 | |
CN111596969B (zh) | 一种基于微内核加插件式的软件架构方法 | |
Pessemier et al. | A model for developing component-based and aspect-oriented systems | |
Seinturier et al. | A component‐based middleware platform for reconfigurable service‐oriented architectures | |
US7996830B2 (en) | Programming model generic application deployment | |
US7886286B2 (en) | Integration of non-componentized libraries in component-based systems | |
US20150149980A1 (en) | Service model-oriented software operation platform and operation method thereof | |
US20120246316A1 (en) | Automatic Registration of Enterprise Resources in a Dynamic Module System Services Registry | |
KR20140033494A (ko) | 개방형 플랫폼의 기능 확장을 실현하는 방법 및 시스템 | |
KR20080112269A (ko) | 자원 제한 장치, 자원 제한 장치용 가상 실행 시스템, 및 가상 실행 시스템의 성능 향상 방법 | |
Göbel et al. | The COMQUAD component model: enabling dynamic selection of implementations by weaving non-functional aspects | |
CN108363612A (zh) | 基于类装载器实现的j2ee模块热部署及调用信息统计方法 | |
US20160294929A1 (en) | System and method for reusing javascript code available in a soa middleware environment from a process defined by a process execution language | |
GB2486541A (en) | Methods for the execution of adaptable composed computer implemented services with integrated policies | |
CN111858101A (zh) | 面向云架构系统的适配方法、装置、设备及存储介质 | |
CN103186386B (zh) | 应用加载方法及系统 | |
Liu et al. | A formal framework for component deployment | |
US10268496B2 (en) | System and method for supporting object notation variables in a process defined by a process execution language for execution in a SOA middleware environment | |
US10223143B2 (en) | System and method for supporting javascript as an expression language in a process defined by a process execution language for execution in a SOA middleware environment | |
US8024746B2 (en) | Common handler framework | |
CN1987773A (zh) | 一种J2EE应用服务器中Web容器的集成框架 | |
Kaegi et al. | Modular java web applications | |
Américo et al. | Service component architecture extensions for dynamic systems | |
Valetto et al. | A uniform programming abstraction for effecting autonomic adaptations onto software systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220222 Address after: Room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai 200040 Patentee after: Tianyi Digital Life Technology Co.,Ltd. Address before: 1 / F and 2 / F, East Garden, Huatian International Plaza, 211 Longkou Middle Road, Tianhe District, Guangzhou, Guangdong 510630 Patentee before: Century Dragon Information Network Co.,Ltd. |