预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN105955787A(43)申请公布日2016.09.21(21)申请号201610331777.5(22)申请日2016.05.18(71)申请人深圳市掌玩网络技术有限公司地址518000广东省深圳市南山区高新南一道飞亚达科技大厦10层西(72)发明人陈乔何意(74)专利代理机构深圳市华腾知识产权代理有限公司44370代理人牟宗飞(51)Int.Cl.G06F9/445(2006.01)权利要求书2页说明书5页附图4页(54)发明名称一种用于Android系统的插件加载方法及装置(57)摘要本发明提供一种用于Android系统的插件加载方法及装置,包括以下步骤:接收程序或者用户对插件入口的操作指令;根据所述操作指令,判断所述插件是否存在;如果判断出所述插件存在,则启动插件进程解析并运行所述插件的安装包;启动所述插件对应的代理类;实例化插件类,并对插件类进行动态注入所述代理类对应的属性值,以使所述插件加载完成;对所述插件类进行生命周期进行回调,完成模拟Android运行时环境。本发明通过插件可以实现将自己的应用分拆,某些功能可以在插件中实现,用到时再进行下载,而且不用预集成或者安装。如果有新功能的添加,不需要更新应用,只要预留插件管理,便可以通过添加插件的方式,动态更新自己的应用;该功能需要改进或扩展,更新插件即可,无需频繁安装或卸载。CN105955787ACN105955787A权利要求书1/2页1.一种用于Android系统的插件加载方法,其特征在于,所述用于Android系统的插件加载方法,包括以下步骤:接收程序或者用户对插件入口的操作指令;根据所述操作指令,判断所述插件是否存在;如果判断出所述插件存在,则启动插件进程解析并运行所述插件的安装包;启动所述插件对应的代理类;实例化插件类,并对插件类进行动态注入所述代理类对应的属性值,以使所述插件加载完成;对所述插件类进行生命周期进行回调,完成模拟Android运行时环境。2.如权利要求1所述的用于Android系统的插件加载方法,其特征在于,在所述启动所述插件对应的代理类的步骤之后,还包括:修改代理类(ProxyActivity)的获取资源(getResources())和资源管理器(getAssets())方法的返回值为相应的插件对象,实现插件Activity中可以获取到APK包中drawable和assets目录下的内容;修改代理类(ProxyActivity)的获取包管理类方法(getPackageManager())的返回值为插件自定义PackageManager,实现在插件中能直接获取到插件本身APK包的PackageInfo等信息。3.如权利要求1所述的用于Android系统的插件加载方法,其特征在于,所述对插件类进行动态注入所述代理类对应的属性值的步骤,具体包括:对插件类进行动态注入自定义Instrumentation实现对跳转类的重定向;以及对插件类进行动态注入宿主Window对象实现对插件界面的展示以及交互。4.如权利要求3所述的用于Android系统的插件加载方法,其特征在于,对插件类进行动态注入宿主Window对象实现对插件界面的展示以及交互的步骤,具体包括:通过Java的反射机制将代理Activity动态注入至newInstance生成的Activity类中,将其转变成伪Activity类;此时的插件Activity类自主控制ProxyActivity的屏幕。5.如权利要求1所述的用于Android系统的插件加载方法,其特征在于,所述用于Android系统的插件加载方法,还包括:获取动态功能列表;检查该列表中的功能对应的插件是否存在;如果存在,则解析所述插件的安装包;对插件进行预加载;接收用户选择的功能;启动所述选择的功能对应的插件。6.一种用于Android系统的插件加载装置,其特征在于,所述用于Android系统的插件加载装置,包括:接收模块,用于接收程序或者用户对插件入口的操作指令;判断模块,用于根据所述操作指令,判断所述插件是否存在;解析模块,用于如果判断出所述插件存在,则启动插件进程解析并运行所述插件的安装包;2CN105955787A权利要求书2/2页启动模块,用于启动所述插件对应的代理类;注入模块,用于实例化插件类,并对插件类进行动态注入所述代理类对应的属性值,以使所述插件加载完成;回调模块,用于对所述插件类进行生命周期进行回调,完成模拟Android运行时环境。7.如权利要求6所述的用于Android系统的插件加载装置,其特征在于,所述用于Android系统的插件加载装置,还包括:第一修改模块,用于修改代理类(ProxyActivity)的获取资源(get