一种应用程序的更新及加载的方法、系统及计算机装置制造方法及图纸

技术编号:20024823 阅读:21 留言:0更新日期:2019-01-06 04:04
本发明专利技术提出了一种应用程序的更新及加载的方法、系统及计算机装置,涉及应用程序技术领域,应用程序的更新及加载的方法包括:将应用程序划分为外壳及业务插件;通过资源安装包更新业务插件的资源;通过外壳的插件引擎对业务插件进行加载。本发明专利技术无需上新应用程序至各大应用市场,也无需用户去手动更新应用程序,整个更新应用程序的过程都是自动和无感知的,进而极大地缩短了应用程序的更新周期,也就提高了应用程序的更新效率。

【技术实现步骤摘要】
一种应用程序的更新及加载的方法、系统及计算机装置
本专利技术涉及应用程序
,具体而言,涉及一种应用程序的更新及加载的方法、系统、计算机装置及计算机可读存储介质。
技术介绍
在Android平台上,APP(Application,应用程序)的更新方式一直是一个痛点。当APP需要更新新版本时,需要将新版本上传到主流市场中,等待市场审核完成后才能向用户发布。另外,APP的更新速度也是很慢的,用户需要在市场中手动点击更新才能下载并使用新版本,这两个过程导致了APP更新周期长,一个新版本发布后,可能要经过1周至2周的时间后大部分用户才能使用新版本,这极大地阻碍了企业的业务发展。并且,随着APP的普及和发展,在移动端的运营活动越来越多,运营活动中常见的一个策略就是更改移动端的UI(UserInterface,用户界面)资源,达到活动的目的,比如更改背景图片,按钮的颜色等等。由于APP的固有特性,发布新功能需要用户耗费流量下载新版本APP,流程链路较长,覆盖率提升缓慢。
技术实现思路
本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。为此,本专利技术的一个目的在于提出了一种应用程序的更新及加载的方法。本专利技术的另一个目的在于提出了一种应用程序的更新及加载的系统。本专利技术的再一个目的在于提出了一种计算机装置。本专利技术的又一个目的在于提出了一种计算机可读存储介质。有鉴于此,根据本专利技术的一个目的,提出了一种应用程序的更新及加载的方法,包括:将应用程序划分为外壳及业务插件;通过资源安装包更新业务插件的资源;通过外壳的插件引擎对业务插件进行加载。本专利技术提供的应用程序的更新及加载的方法,将应用程序拆成两个部分,一部分是外壳,另一个部分是业务插件。外壳仅仅是一个空壳,里面内置了VirtualAPK插件引擎,这部分和业务无关是不需要更新的。业务插件和业务相关,所有的业务实现都在业务插件中。通过资源安装包更新业务插件的资源,然后外壳通过VirtualAPK引擎来加载业务插件,同时外壳可以从服务端拉取新的业务插件,所以当需要更新应用程序时,只需要在服务端下发一个新的业务插件即可。无须上新应用程序至各大应用市场,也无须用户去手动更新应用程序,整个更新应用程序的过程都是自动和无感知的,进而极大地缩短了应用程序的更新周期,也就提高了应用程序的更新效率。其中,资源安装包与安卓系统主安装包不同,主安装包是指安装到用户手机里的应用程序文件,而资源安装包是指包含需要更改的UI资源的安装包,无需安装。VirtualAPK插件引擎为一种插件化框架,VirtualAPK插件引擎对插件没有额外的约束,其工作过程为:原生的APK(AndroidPackage,安卓安装包)即可作为插件,插件工程编译生成APK后即可通过宿主应用程序加载,每个插件APK被加载后都会在宿主APK中创建一个单独的对象,通过这些对象VirtualAPK插件引擎就可以管理插件并赋予插件新的意义。根据本专利技术的上述应用程序的更新及加载的方法,还可以具有以下技术特征:在上述技术方案中,优选地,通过资源安装包更新业务插件的资源的步骤,具体包括:接收执行资源指令;根据执行资源指令,在资源安装包中查询是否存在与执行资源具有相同类型及资源编号的替换资源;当在资源安装包中存在与执行资源具有相同类型及资源编号的替换资源时,将执行资源的安装包ID修改为替换资源的安装包ID;在资源安装包中调用替换资源。在该技术方案中,接收执行资源指令后,在资源安装包中查询是否存在与执行资源具有相同类型及资源编号的替换资源,当在资源安装包中存在与执行资源具有相同类型及资源编号的替换资源时,说明在资源安装包中存在与执行资源对应的替换资源,则将执行资源的安装包ID更改为替换资源的安装包ID,并在资源安装包中调用替换资源。由此实现跨安装包的资源更新,能够在不发新版的情况下可以更改应用程序的UI资源,并且应用程序中在使用活动资源时和内置资源相比,在分辨率和性能方面没有任何损失。在上述任一技术方案中,优选地,执行资源及替换资源包括安装包ID、类型及资源编号。在该技术方案中,主安装包会给每个UI资源分配一个安装包内唯一的ID,例如一张图片A的ID可能是0x7f0202ed,其中0x表示十六进制,7f表示安装包ID,所有的应用程序默认的安装包ID都是7f。紧接着的02,表示资源类型,例如可能有图片,颜色,动画等,每种类型都有不同的值。后面4位,表示资源编号,构建主安装包时编译系统会增序分配。在上述任一技术方案中,优选地,还包括:构建资源安装包,修改资源安装包中资源的安装包ID;将资源安装包发送至服务器。在该技术方案中,构建资源安装包,不同主安装包中的安装包ID互不影响,所以安装包ID有可能重复。例如,demo1.apk中的图片A和demo2.apk中的图片B可能拥有相同的安装包ID。所以跨安装包调用资源,必须保证两个安装包的安装包ID不重复,由此本专利技术把资源安装包中资源的安装包ID修改为非7f的值,避免和主安装包中资源有相同的安装包ID,引起混乱,同时保证执行资源和对应的替换资源拥有相同的类型和资源编号,保证正确的映射,最后将资源安装包部署到服务器。在上述任一技术方案中,优选地,还包括:检测资源安装包是否有更新;当资源安装包有更新时,将更新后的资源安装包下载至终端。在该技术方案中,主安装包中的下载模块在检测到有新的资源安装包时,下载至终端,方便用户使用。在上述任一技术方案中,优选地,通过外壳的插件引擎对业务插件进行加载的步骤,具体包括:通过外壳的插件引擎,拦截启动业务插件的相关方法;将原指向业务插件的统一资源标识符导向至代理业务插件的统一资源标识符,同时将原指向业务插件的统一资源标识符存储至代理业务插件的统一资源标识符的参数中;在代理业务插件中,解析原指向业务插件的统一资源标识符;创建业务插件;接收外界请求,通过代理业务插件将外界请求转至业务插件;业务插件将对外界请求的响应结果反馈至代理业务插件;通过代理业务插件将对外界请求的响应结果进行发送。在该技术方案中,通过外壳的插件引擎,拦截启动业务插件的相关方法,将原指向业务插件的统一资源标识符导向至代理业务插件的统一资源标识符,同时将原指向业务插件的统一资源标识符存储至代理业务插件的统一资源标识符的参数中,在代理业务插件中,解析原指向业务插件的统一资源标识符,创建业务插件,接收外界请求,通过代理业务插件将外界请求转至业务插件,业务插件将对外界请求的响应结果反馈至代理业务插件,通过代理业务插件将对外界请求的响应结果进行发送,及通过代理业务插件实现跨进程调用业务插件,确保支持所中业务插件运行,提高了业务的发展。在上述任一技术方案中,优选地,还包括:通过用户界面线程调用业务插件的生命周期。在该技术方案中,在创建业务插件时,在用户界面线程中调用业务插件的生命周期,实现业务插件的生命周期的管理。根据本专利技术的另一个目的,提出了一种应用程序的更新及加载的系统,其特征在于,包括:划分单元,用于将应用程序划分为外壳及业务插件;更新单元,用于通过资源安装包更新业务插件的资源;加载单元,用于通过外壳的插件引擎对业务插件进行加载。本专利技术提供的应用程序的更新及加载的系统,划分单元将应用程序拆成两个部分,一部分是本文档来自技高网...

【技术保护点】
1.一种应用程序的更新及加载的方法,其特征在于,包括:将所述应用程序划分为外壳及业务插件;通过资源安装包更新所述业务插件的资源;通过所述外壳的插件引擎对所述业务插件进行加载。

【技术特征摘要】
1.一种应用程序的更新及加载的方法,其特征在于,包括:将所述应用程序划分为外壳及业务插件;通过资源安装包更新所述业务插件的资源;通过所述外壳的插件引擎对所述业务插件进行加载。2.根据权利要求1所述的应用程序的更新及加载的方法,其特征在于,通过所述资源安装包更新所述业务插件的资源的步骤,具体包括:接收执行资源指令;根据所述执行资源指令,在所述资源安装包中查询是否存在与执行资源具有相同类型及资源编号的替换资源;当在所述资源安装包中存在与所述执行资源具有相同类型及资源编号的所述替换资源时,将所述执行资源的安装包ID修改为所述替换资源的安装包ID;在所述资源安装包中调用所述替换资源。3.根据权利要求2所述的应用程序的更新及加载的方法,其特征在于,所述执行资源及所述替换资源包括所述安装包ID、所述类型及资源编号。4.根据权利要求3所述的应用程序的更新及加载的方法,其特征在于,还包括:构建所述资源安装包,修改所述资源安装包中资源的所述安装包ID;将所述资源安装包发送至服务器。5.根据权利要求2所述的应用程序的更新及加载的方法,其特征在于,还包括:检测所述资源安装包是否有更新;当所述资源安装包有更新时,将更新后的所述资源安装包下载至终端。6.根据权利要求1至5中任一项所述的应用程序的更新及加载的方法,其特征在于,通过所述外壳的插件引擎对所述业务插件进行加载的步骤,具体包括:通过所述外壳的插件引擎,拦截启动所述业务插件的相关方法;将原指向所述业务插件的统一资源标识符导向至代理业务插件的统一资源标识符,同时将原指向所述业务插件的统一资源标识符存储至所述代理业务插件的统一资源标识符的参数中;在所述代理业务插件中,解析原指向所述业务插件的统一资源标识符;创建所述业务插件;接收外界请求,通过所述代理业务插件将所述外界请求转至所述业务插件;所述业务插件将对所述外界请求的响应结果反馈至所述代理业务插件;通过所述代理业务插件将对所述外界请求的响应结果进行发送。7.根据权利要求6所述的应用程序的更新及加载的方法,其特征在于,还包括:通过用户界面线程调用所述业务插件的生命周期。8.一种应用程序的更新及加载的系统,其特征在于,包括:划分单元,用于将所述应用程序划分为外壳及业务插件;更新单元,用于通过资源安装包更新所述业务插件的资源;加载单元,用于通过所述外壳的插件引擎对所述业务插件进行加载。9.根据权利要求8所述的应用程序的更新及加载的系统,其特征在于,所述更新单元,包括:第一接收单...

【专利技术属性】
技术研发人员:任玉刚王海郑涛
申请(专利权)人:北京嘀嘀无限科技发展有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1