【技术实现步骤摘要】
应用程序包的生成方法、装置、电子设备及存储介质
本专利技术涉及智能终端
,尤其涉及一种应用程序包的生成方法、装置、电子设备及存储介质。
技术介绍
随着智能终端的不断发展,基于安卓(Android)的APP(Application,应用程序)的功能越来越复杂,随之而来的需求需要快速迭代更新部署上线。为此,基于Android的APP采用插件(应用程序包)化的方式动态加载,以完成需求的更新部署上线。相关技术中,在基于Android的应用程序包化的开发过程中,应用程序包编译依赖于应用程序内的一些资源,例如,android_support,fresco,lottie等三方库以及基础资源。由于应用程序包编译依赖于这些资源,且AndroidStudio没有提供CompileOnly资源的方式,在构建应用程序包的过程中,这些资源也会被自动加入应用程序包中。然而实际中,这些资源在应用程序中也是存在的,应用程序包完全可以复用应用程序中的这些资源,导致应用程序包存在冗余资源,动态加载应用程序包的效率较低。r>
技术实现思路
...
【技术保护点】
1.一种应用程序包的生成方法,其特征在于,所述方法执行于服务端,包括:/n获取资源标识文件以及资源信息,其中,所述资源标识文件记录应用程序中共享资源对应的共享资源标识;/n根据所述资源标识文件,将所述资源信息划分为共享资源以及独占资源,其中,所述共享资源分别存储于所述资源信息以及所述应用程序对应的资源库中;/n删除所述资源信息中的所述共享资源,利用预设的编译工具对所述资源信息中的所述独占资源进行处理,生成目标资源信息;/n基于所述目标资源信息、预设的代码以及所述资源信息对应的资源索引,生成应用程序包APK。/n
【技术特征摘要】
1.一种应用程序包的生成方法,其特征在于,所述方法执行于服务端,包括:
获取资源标识文件以及资源信息,其中,所述资源标识文件记录应用程序中共享资源对应的共享资源标识;
根据所述资源标识文件,将所述资源信息划分为共享资源以及独占资源,其中,所述共享资源分别存储于所述资源信息以及所述应用程序对应的资源库中;
删除所述资源信息中的所述共享资源,利用预设的编译工具对所述资源信息中的所述独占资源进行处理,生成目标资源信息;
基于所述目标资源信息、预设的代码以及所述资源信息对应的资源索引,生成应用程序包APK。
2.根据权利要求1所述的方法,其特征在于,所述利用预设的编译工具对所述资源信息中的所述独占资源进行处理,生成目标资源信息,包括:
对所述资源信息中的所述独占资源对应的独占资源标识进行更新,生成目标资源标识,其中,所述目标资源标识与所述共享资源标识不一致;
利用预设的编译工具对所述资源信息中经过更新的所述独占资源进行处理,生成目标资源信息;
所述基于所述目标资源信息、预设的代码以及所述资源信息对应的资源索引,生成应用程序包APK,包括:
根据所述目标资源标识对所述资源信息对应的资源索引进行更新,其中,所述资源信息对应的资源索引中分别记录所述共享资源对应的共享资源标识以及独占资源对应的独占资源标识;
基于所述目标资源信息、预设的代码以及经过更新的所述资源信息对应的资源索引,生成应用程序包APK。
3.根据权利要求1所述的方法,其特征在于,所述资源标识文件具体通过以下方式生成:
确定所述APK对应的资源以及所述应用程序对应的资源;
根据所述APK对应的资源以及所述应用程序对应的资源,确定所述APK与所述应用程序共享的资源;
根据所述APK与所述应用程序共享的资源对应的共享资源标识,生成所述资源标识文件。
4.一种基于权利要求1-3任一项所述方法的应用程序更新方法,其特征在于,所述方法执行于客户端,包括:
获取应用程序包APK,并解析所述APK中的资源索引、代码以及目标资源信息,其中,所述资源索引中分别记录共享资源标识以及独占资源标识;
根据所述资源索引,在应用程序对应的资源库中查找所述APK对应的共享资源,以及在所述目标资源信息中查找所述APK对应的独占资源;
将所述共享资源与所述独占资源进行整合;
在所述代码运行过程中,基于所述共享资源与所述独占资源,对所述应用程序进行更新。
5.一种应用程序包的生成装置,其特征在于,所述装置应用于服务端,包括:
获取模块,用于获取资源标识文件以及资源信息,其中,所述资源标识文件记录应用程序中共享资源对应的共享资源标识;
资源划分模块,用于...
【专利技术属性】
技术研发人员:刘纯,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。