文件处理方法、装置、设备及介质制造方法及图纸

技术编号:24409079 阅读:28 留言:0更新日期:2020-06-06 08:22
本公开实施例公开了一种文件处理方法、装置、设备及介质。所述方法包括:确定应用安装文件的可执行文件中至少两个类文件的调用信息;依据所述至少两个类文件的调用信息,对所述至少两个类文件中的类文件与所述可执行文件之间的存放信息重新配置,得到新的可执行文件;对所述新的可执行文件重新打包,生成新的应用安装文件。采用本公开方案,可以对具有调用关系的类文件的存放位置进行调整,将处于不同可执行文件中的相同函数的函数定义和函数调用整合到同一个可执行文件中,降低了应用安装文件的体积大小。

Document processing methods, devices, equipment and media

【技术实现步骤摘要】
文件处理方法、装置、设备及介质
本公开实施例涉及计算机
,尤其涉及一种文件处理方法、装置、设备及介质。
技术介绍
目前,终端应用程序都是采用应用安装文件的形式存在,应用安装文件中主要包括代码文件部分和资源文件部分。在开发完成Android项目或者ios项目后可以打包成对应的应用安装文件,并下载运行。但是,应用安装文件的应用功能是不断迭代更新和不断丰富的,随着不断的更新应用安装文件中代码文件和资源文件也不断丰富,相应地代码文件和资源文件中的冗余信息越来越多,造成应用安装文件的体积越来越大。这样较大体积的应用安装文件的不仅需要较大的存储空间,并且当用户进行应用程序升级时,需要消耗更多的流量和传输时间来下载应用安装文件的,进而影响用户对应用安装文件的留存率。
技术实现思路
本公开实施例中提供一种文件处理方法、装置、设备及介质,以实现减小应用安装文件的体积,降低下载应用安装文件时的文件传输时间和传输流量。第一方面,本公开实施例中提供了一种文件处理方法,包括:确定应用安装文件的可执行文件中至少两个类文件的调用信息;依据所述至少两个类文件的调用信息,对所述至少两个类文件中的类文件与所述可执行文件之间的存放信息重新配置,得到新的可执行文件;对所述新的可执行文件重新打包,生成新的应用安装文件。第二方面,本公开实施例中还提供了一种文件处理装置,包括:调用信息确定模块,用于确定应用安装文件的可执行文件中至少两个类文件的调用信息;存放信息配置模块,用于依据所述至少两个类文件的调用信息,对所述至少两个类文件中的类文件与所述可执行文件之间的存放信息重新配置,得到新的可执行文件;文件打包生成模块,用于对所述新的可执行文件重新打包,生成新的应用安装文件。第三方面,本公开实施例中还提供了一种电子设备,包括:一个或多个处理装置;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开任意实施例中所提供的文件处理方法。第四方面,本公开实施例中还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现如本公开任意实施例中所提供的文件处理方法。本公开实施例中提供了一种文件处理方案,应用安装文件的多个可执行文件中存放有多个类文件,通过确定各个类文件之间的调用关系,对各个类文件与可执行文件之间的存放关系进行重新配置,将具有调用关系的类文件存放在同一个可执行文件中,从而得到至少一个新的可执行文件,进而可以对新的可执行文件进行重新打包得到新的应用安装文件。采用本公开方案,可以对具有调用关系的类文件的存放位置进行调整,将处于不同可执行文件中的相同函数的函数定义和函数调用整合到同一个可执行文件中,降低了应用安装文件的体积大小。上述公开内容仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:图1示出了本公开实施例中提供的一种文件处理方法的流程图;图2示出了本公开实施例中提供的另一种文件处理方法的流程图;图3示出了本公开实施例中提供的又一种文件处理方法的流程图;图4示出了本公开实施例中提供的一种文件处理装置的结构框图;图5示出了本公开实施例中提供的一种电子设备的结构框图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本公开使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。图1示出了本公开实施例中提供的一种文件处理方法的流程图,本公开实施例可适用于对应用安装文件的体积进行优化的情况。该方法可以由文件处理装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于具有网络通信功能的电子设备中。其中,该电子设备可以为终端设备或者服务器。如图1所示,本公开实施例中提供的文件处理方法包括以下步骤:S110、确定应用安装文件的可执行文件中至少两个类文件的调用信息。在本实施例中,应用安装文件可以为在Android系统适用的APK形式的安卓应用安装包APK;或者,可以为支持IOS系统的软件安装包;或者,支持其他操作系统的软件安装包,对此不做限定。应用安装文件中可以包含多个可执行文件,每一个可执行文件可以存放一个或多个类文件。类文件中是对应的函数方法,函数方法分为方法id和具体实现。由于函数方法之间存在调用与被调用的关系,从而使得包含函数方法的类文件之间也存在调用关系,因此可以确定应用安装文件的可执行文件中至少两个类文件的调用信息。示例性地,以安卓应用安装包APK为例,应用安装文件实质上可以为ZIP格式的压缩文件,只是其文件的后缀名为“apk”。可执行文件为安卓应用安装文件APK中的dex文件,类文件为class文件。S120、依据至少两个类文件的调用信息,对至少两个类文件中的类文件与可执行文件之间的存放信息重新配置,得到新的可执行文件。在本实施例中,在开发完成并打包的应用安装文件中的多个可执行文件会存在一个问题,比如,可执行文件1和可执行文件2,函数a的定义在可执行文件2中,函数a的调用在可执行文件1中。此时,函数a会在可执行文件1和可执行文件2中保留两个副本,导致应用安装文件的体积本文档来自技高网...

【技术保护点】
1.一种文件处理方法,其特征在于,包括:/n确定应用安装文件的可执行文件中至少两个类文件的调用信息;/n依据所述至少两个类文件的调用信息,对所述至少两个类文件中的类文件与所述可执行文件之间的存放信息重新配置,得到新的可执行文件;/n对所述新的可执行文件重新打包,生成新的应用安装文件。/n

【技术特征摘要】
1.一种文件处理方法,其特征在于,包括:
确定应用安装文件的可执行文件中至少两个类文件的调用信息;
依据所述至少两个类文件的调用信息,对所述至少两个类文件中的类文件与所述可执行文件之间的存放信息重新配置,得到新的可执行文件;
对所述新的可执行文件重新打包,生成新的应用安装文件。


2.根据权利要求1所述的方法,其特征在于,确定应用安装文件的可执行文件中至少两个类文件的调用信息,包括:
从应用安装文件的至少两个可执行文件中,获取对应的至少两个类文件;
通过类文件调用关系分析工具,分析所述至少两个类文件中各函数的函数间调用关系,并依据分析结果得到所述至少两个类文件的调用信息;所述函数间调用关系包括不同的类文件中函数之间的调用和被调用关系。


3.根据权利要求2所述的方法,其特征在于,从应用安装文件的至少两个可执行文件中,获取对应的至少两个类文件,包括:
将所述应用安装文件映射到共享内存,在所述共享内存中对所述应用安装文件进行反编译得到至少两个可执行文件;
针对所述至少两个可执行文件的每一个可执行文件,对所述可执行文件进行混淆和编译得到对应的类文件,以获取至少两个类文件。


4.根据权利要求1所述的方法,其特征在于,所述可执行文件为安卓应用安装文件APK中的dex文件,所述类文件为class文件。


5.根据权利要求1所述的方法,其特征在于,依据所述至少两个类文件的调用信息,对所述至少两个类文件中的类文件与所述可执行文件之间的存放信息重新配置,得到新的可执行文件,包括:
依据所述至少两个类文件的调用信息,生成对应的类文件配置文件;
基于所述类文件配置文件,将所述至少两个类文件中具有调用关系的类文件存放于同一个可执行文件中,得到新的可执行文件。


6.根据权利要求5所述的方法,其特征在于,将所述至少两个类文件中具有调用关系的类文件存放于同一个可执行文件中,包括:
通过调用预设的类文件重配置函数,向...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:北京无限光场科技有限公司
类型:发明
国别省市:北京;11

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

1