动态APK的资源加载方法、装置、系统以及介质制造方法及图纸

技术编号:29156010 阅读:16 留言:0更新日期:2021-07-06 22:55
本发明专利技术提供了一种动态APK的资源加载方法、装置、系统以及介质。所述方法包括:获取用于多个动态APK文件共同加载的公共资源,并将获取的所述公共资源放入至公共资源库中;通过对所述公共资源库进行处理,将所述公共资源库引用到所述多个动态APK文件,其中,基于所述公共资源库,生成所述公共资源的配置文件;当对所述多个动态APK文件进行打包时,根据引用了所述公共资源库的所述多个动态APK文件,获取所述公共资源的配置文件,以确定所述公共资源的识别信息;根据确定的所述公共资源的识别信息,将所述公共资源加载到所述多个动态APK。本发明专利技术的上述方法能够解决多个动态APK引用公共资源的识别信息id不匹配的问题,从而使多个动态APK正常加载资源。

【技术实现步骤摘要】
动态APK的资源加载方法、装置、系统以及介质
本专利技术涉及一种动态APK的资源加载方法、装置、系统以及介质。
技术介绍
随着App不断迭代,APP开发则会变得越来越重,随着技术团队的不断壮大,单App的耦合程度越来越重,维护愈发困难,同时传统App的形式不利于快速迭代。因此,提出了动态APK技术,将App作为一个当桌面系统,在这个App里动态加载其他的APK,从而实现APK的快速插拔。因此,就实现了APK的动态加载技术。但是在动态APK技术里,存在一些公共的通用组件,而每个动态APK直接依赖通用机制,这就导致了App整体体积的增加,从而造成不易于推广的问题。在这些通用机制里,对于类的加载,通过给予动态APK间的依赖关系得以解决。但是,由于每个动态APK是独立存在的,构建工具会将公共组件的资源进行重新排序,导致多个动态APK之间引用公共资源的识别信息id不匹配,使得每个动态APK的公共组件产生的结果是不一致的。因此,资源加载则因为Android编译机制的影响,变得极为不稳定。
技术实现思路
针对以上问题,本专利技术提供了动态APK的资源加载方法、装置、系统以及介质,其能够解决多个动态APK引用公共资源的识别信息id不匹配的问题,从而使多个动态APK正常加载资源。根据本专利技术的一方面,提供一种动态APK的资源加载方法,包括:获取步骤:获取用于多个动态APK文件共同加载的公共资源,并将获取的所述公共资源放入至公共资源库中;处理步骤:通过对所述公共资源库进行处理,将所述公共资源库引用到所述多个动态APK文件,其中,基于所述公共资源库,生成所述公共资源的配置文件;确定步骤:当对所述多个动态APK文件进行打包时,根据引用了所述公共资源库的所述多个动态APK文件,获取所述公共资源的配置文件,以确定所述公共资源的识别信息;以及加载步骤:根据确定的所述公共资源的识别信息,将所述公共资源加载到所述多个动态APK。优选地,所述处理步骤进一步包括:对所述公共资源库进行打包处理,以生成基于所述公共资源库的aar文件,并将生成的所述aar文件引用至所述多个动态APK文件。优选地,所述处理步骤进一步包括:获取所述公共资源库中的所述公共资源的身份信息,并且将所述身份信息写入所述公共资源的配置文件;并且所述确定步骤进一步包括:当对所述多个动态APK文件进行打包时,获取所述配置文件中的所述公共资源的身份信息,以确定所述公共资源的识别信息。优选地,所述确定步骤进一步包括:基于获取的所述配置文件中的所述公共资源的身份信息,生成临时配置文件,并将该临时配置文件放入至所述动态APK文件中的预定目录下,从而将所述身份信息用作为所述公共资源的识别信息,以用于所述公共资源的加载。优选地,所述加载步骤进一步包括:通过将所述多个动态APK文件的引用所述公共资源的文件的引用信息修改为所述公共资源的识别信息,使所述公共资源加载到所述多个动态APK中。优选地,所述处理步骤还包括:获取所述公共资源库中的所述公共资源的名称,并且将所述公共资源的名称写入所述公共资源的配置文件;并且所述加载步骤还包括:根据所述公共资源的名称,将所述多个动态APK文件的引用所述公共资源的文件的引用信息修改为所述公共资源的识别信息。根据本专利技术的另一方面,提供一种动态APK的资源加载装置,包括:获取单元,其获取用于多个动态APK文件共同加载的公共资源,并将获取的所述公共资源放入至公共资源库中;处理单元,其通过对所述公共资源库进行处理,将所述公共资源库引用到所述多个动态APK文件,其中,基于所述公共资源库,生成所述公共资源的配置文件;确定单元,其当对所述多个动态APK文件进行打包时,根据引用了所述公共资源库的所述多个动态APK文件,获取所述公共资源的配置文件,以确定所述公共资源的识别信息;以及加载单元,其根据确定的所述公共资源的识别信息,将所述公共资源加载到所述多个动态APK。根据本专利技术的另一方面,提供一种动态APK的资源加载系统,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如以上方面所述的动态APK的资源加载方法。根据本专利技术的另一方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上方面所述的动态APK的资源加载方法。专利技术的有益效果根据本专利技术的动态APK的资源加载方法、装置、系统以及介质,通过改变安卓的常规的资源加载机制,解决插件间加载公共组件间资源id不同而造成的应用程序崩溃的问题,使动态APK正常加载资源,从而使得动态APK技术能够得以广泛使用,并极大地满足业务功能的需求和快速的功能迭代。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,但其说明仅用于解释本专利技术,并不构成对本专利技术的不当限定。图1示出根据本专利技术的一优选实施例的动态APK的资源加载方法。图2示出了本专利技术实施例的动态APK的资源加载方法中的抽离公共资源的过程。图3示出了本专利技术实施例的动态APK的资源加载方法中的生成aar的过程。图4示出了本专利技术实施例的动态APK的资源加载方法中的确定资源id的过程。图5示出了本专利技术实施例的动态APK的资源加载方法中的修改资源id的引用的过程。图6示出根据本专利技术的一优选实施例的动态APK的资源加载装置。具体实施方式以下基于实施例对本专利技术进行描述,但是本专利技术并不仅仅限于这些实施例。在下文对本专利技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本专利技术。为了避免混淆本专利技术的实质,公知的方法、过程、流程、元件并没有详细叙述。结合图1-5说明本专利技术的动态APK的资源加载方法。图1示出根据本专利技术的一优选实施例的动态APK的资源加载方法。图2示出了本专利技术实施例的动态APK的资源加载方法中的抽离公共资源的过程。图3示出了本专利技术实施例的动态APK的资源加载方法中的生成aar的过程。图4示出了本专利技术实施例的动态APK的资源加载方法中的确定资源id的过程。图5示出了本专利技术实施例的动态APK的资源加载方法中的修改资源id的引用的过程。本专利技术提供了一种动态APK的资源加载方法。如图1所示,本专利技术的一实施例的动态APK的资源加载方法,包括:获取步骤S101,获取用于多个动态APK文件共同加载的公共资源,并将获取的所述公共资源放入至公共资源库中;处理步骤S102,通过对所述公共资源库进行处理,将所述公共资源库引用到所述多个动态APK文件,其中,基于所述公共资源库,生成所述公共资源的配置文件;确定步骤S103,当对所述多个动态APK文件进行打包时,根据引用了所述公共资源库的所述多个动态APK文件,获取所述公共资源的配置文件,以确定所述公共资源的识别信息;以及本文档来自技高网...

【技术保护点】
1.一种动态APK的资源加载方法,包括:/n获取步骤:获取用于多个动态APK文件共同加载的公共资源,并将获取的所述公共资源放入至公共资源库中;/n处理步骤:通过对所述公共资源库进行处理,将所述公共资源库引用到所述多个动态APK文件,其中,基于所述公共资源库,生成所述公共资源的配置文件;/n确定步骤:当对所述多个动态APK文件进行打包时,根据引用了所述公共资源库的所述多个动态APK文件,获取所述公共资源的配置文件,以确定所述公共资源的识别信息;以及/n加载步骤:根据确定的所述公共资源的识别信息,将所述公共资源加载到所述多个动态APK。/n

【技术特征摘要】
1.一种动态APK的资源加载方法,包括:
获取步骤:获取用于多个动态APK文件共同加载的公共资源,并将获取的所述公共资源放入至公共资源库中;
处理步骤:通过对所述公共资源库进行处理,将所述公共资源库引用到所述多个动态APK文件,其中,基于所述公共资源库,生成所述公共资源的配置文件;
确定步骤:当对所述多个动态APK文件进行打包时,根据引用了所述公共资源库的所述多个动态APK文件,获取所述公共资源的配置文件,以确定所述公共资源的识别信息;以及
加载步骤:根据确定的所述公共资源的识别信息,将所述公共资源加载到所述多个动态APK。


2.根据权利要求1所述的动态APK的资源加载方法,其中,
所述处理步骤进一步包括:对所述公共资源库进行打包处理,以生成基于所述公共资源库的aar文件,并将生成的所述aar文件引用至所述多个动态APK文件。


3.根据权利要求1或2所述的动态APK的资源加载方法,其中,
所述处理步骤进一步包括:获取所述公共资源库中的所述公共资源的身份信息,并且将所述身份信息写入所述公共资源的配置文件;并且
所述确定步骤进一步包括:当对所述多个动态APK文件进行打包时,获取所述配置文件中的所述公共资源的身份信息,以确定所述公共资源的识别信息。


4.根据权利要求3所述的动态APK的资源加载方法,其中,
所述确定步骤进一步包括:基于获取的所述配置文件中的所述公共资源的身份信息,生成临时配置文件,并将该临时配置文件放入至所述动态APK文件中的预定目录下,从而将所述身份信息用作为所述公共资源的识别信息,以用于所述公共资源的加载。


5.根据权利要求1-4任一项所述的动态APK的资源加载方...

【专利技术属性】
技术研发人员:刘子樋贾睿
申请(专利权)人:北京一亩田新农网络科技有限公司
类型:发明
国别省市:北京;11

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

1