CN116166417A - 应用程序重组方法、装置、计算机设备和存储介质 - Google Patents
应用程序重组方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116166417A CN116166417A CN202211555460.1A CN202211555460A CN116166417A CN 116166417 A CN116166417 A CN 116166417A CN 202211555460 A CN202211555460 A CN 202211555460A CN 116166417 A CN116166417 A CN 116166417A
- Authority
- CN
- China
- Prior art keywords
- application program
- application
- resource information
- program
- loading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种应用程序重组方法、装置、计算机设备和存储介质。包括:获取拆分安装包,并通过拆分安装包安装初始应用程序;启动初始应用程序,并通过重组判断接口对初始应用程序进行包体重组检测,得到第一检测结果;当第一检测结果表征初始应用程序为实现部分功能的程序时,通过下载启动接口,得到下载地址所对应的应用资源信息;按照加载路径对应用资源信息进行加载,得到加载结果,并综合加载结果和初始应用程序,得到重组完成的目标应用程序。采用本方法能够提高应用程序重组的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序重组方法、装置、计算机设备和存储介质。
背景技术
近年来,手机中各种应用程序的内容越来越丰富、画面越来越精美,应用程序的安装包也越来越大,用户体验应用程序时所花费的下载时间和流量成本也越来越高。因此,降低安装包的大小能减少用户体验应用程序的成本。
目前,通常会从应用程序中拆分出头部安装包,在对头部安装包进行安装与运行的过程中,再同步进行剩余文件的下载,使得应用程序具有完整的运行功能。然而,现有方式必须了应用程序的运行进程才能完成拆分,并且为了确保应用程序完整功能的运行,头部安装包中仍需保留充足的应用资源信息。因此,如何在仅使用内存较小的安装包的情况下,仍能准确地得到具有完整功能的应用程序是本公开需要解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高得到具有完整功能的应用程序准确性的应用程序重组方法、装置、计算机设备、计算机可读存储介质和和计算机程序产品。
第一方面,本申请提供了一种应用程序重组方法。由客户端执行,包括:
获取拆分安装包,并通过所述拆分安装包安装初始应用程序;所述拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径;
启动所述初始应用程序,并通过所述重组判断接口对所述初始应用程序进行包体重组检测,得到第一检测结果;
当所述第一检测结果表征所述初始应用程序为实现部分功能的程序时,通过所述下载启动接口,得到所述下载地址所对应的应用资源信息;
按照所述加载路径对所述应用资源信息进行加载,得到加载结果,并综合所述加载结果和所述初始应用程序,得到重组完成的目标应用程序;所述目标应用程序为实现完整功能的程序。
在其中一个实施例中,在所述获取拆分安装包之前,上述方法还包括:通过服务端,获取待安装应用程序和应用配置文件;所述应用配置文件包括多个功能接口;所述多个功能接口包括重组判断接口;通过所述服务端,并基于所述重组判断接口,对所述待安装应用程序进行包体重组检测,得到第二检测结果;通过所述服务端,并根据所述第二检测结果,确定所述待安装应用程序对应的目标待安装应用程序;通过所述服务端,将所述目标待安装应用程序拆分成应用资源信息和拆分安装包,并将所述应用资源信息存储至云端,将所述拆分安装包下发至客户端。
在其中一个实施例中,所述功能接口还包括初始化接口和下载启动接口;所述根据所述第二检测结果,确定所述待安装应用程序对应的目标待安装应用程序,包括:当所述第二检测结果为未重组时,确定所述待安装应用程序对应的待生成的应用资源信息;所述待生成的应用资源信息至少包括应用参数、应用资源和应用动态库;通过所述初始化接口,设置与所述待生成的应用资源信息相关联的下载地址;所述下载地址对应于云端中的地址;通过所述下载地址和所述下载启动接口,得到应用资源信息;根据所述应用资源信息、所述待安装应用程序和所述应用配置文件,得到目标待安装应用程序。
在其中一个实施例中,所述功能接口还包括路径设置接口;所述根据所述应用资源信息、所述待安装应用程序和所述应用配置文件,得到目标待安装应用程序,包括:通过所述路径设置接口,设置所述应用资源信息的加载路径;将所述加载路径所指向的位置作为目标位置,并将所述应用资源信息放置在所述目标位置处,得到放置结果;综合所述放置结果、所述待安装应用程序和所述应用配置文件,得到目标待安装应用程序。
在其中一个实施例中,所述将所述目标待安装应用程序拆分成应用资源信息和拆分安装包,包括:从所述目标待安装应用程序中剔除应用资源信息,得到包含了所述待安装应用程序和所述应用配置文件的剩余文件;获取安装包资源信息;所述安装包资源信息至少包括安装包资源和安装包动态库;将所述剩余文件和所述安装包资源信息进行打包,得到拆分安装包。
在其中一个实施例中,所述根据所述第二检测结果,确定所述待安装应用程序对应的目标待安装应用程序,包括:当所述第二检测结果为已重组时,将所述待安装应用程序作为目标待安装应用程序。
在其中一个实施例中,所述按照所述加载路径对所述应用资源信息进行加载,得到加载结果,包括:确定所述应用资源信息对应的应用类型、以及所述应用类型中的字段信息;调用所述字段信息,并加载所述加载路径对应的所述应用资源信息,得到加载结果。
在其中一个实施例中,所述初始应用程序为初始游戏应用程序;上述方法还包括:根据所述第一检测结果,确定所述初始游戏应用程序的运行模式;所述运行模式包括本地游戏模式和云游戏模式。
第二方面,本申请还提供了一种应用程序重组装置。所述装置包括:
安装包获取模块,用于获取拆分安装包,并通过所述拆分安装包安装初始应用程序;所述拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径;
应用程序启动模块,用于启动所述初始应用程序,并通过所述重组判断接口对所述初始应用程序进行包体重组检测,得到第一检测结果;当所述第一检测结果表征所述初始应用程序为实现部分功能的程序时,通过所述下载启动接口,得到所述下载地址所对应的应用资源信息;
信息加载模块,用于按照所述加载路径对所述应用资源信息进行加载,得到加载结果,并综合所述加载结果和所述初始应用程序,得到重组完成的目标应用程序;所述目标应用程序为实现完整功能的程序。
第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取拆分安装包,并通过所述拆分安装包安装初始应用程序;所述拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径;
启动所述初始应用程序,并通过所述重组判断接口对所述初始应用程序进行包体重组检测,得到第一检测结果;
当所述第一检测结果表征所述初始应用程序为实现部分功能的程序时,通过所述下载启动接口,得到所述下载地址所对应的应用资源信息;
按照所述加载路径对所述应用资源信息进行加载,得到加载结果,并综合所述加载结果和所述初始应用程序,得到重组完成的目标应用程序;所述目标应用程序为实现完整功能的程序。
第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取拆分安装包,并通过所述拆分安装包安装初始应用程序;所述拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径;
启动所述初始应用程序,并通过所述重组判断接口对所述初始应用程序进行包体重组检测,得到第一检测结果;
当所述第一检测结果表征所述初始应用程序为实现部分功能的程序时,通过所述下载启动接口,得到所述下载地址所对应的应用资源信息;
按照所述加载路径对所述应用资源信息进行加载,得到加载结果,并综合所述加载结果和所述初始应用程序,得到重组完成的目标应用程序;所述目标应用程序为实现完整功能的程序。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取拆分安装包,并通过所述拆分安装包安装初始应用程序;所述拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径;
启动所述初始应用程序,并通过所述重组判断接口对所述初始应用程序进行包体重组检测,得到第一检测结果;
当所述第一检测结果表征所述初始应用程序为实现部分功能的程序时,通过所述下载启动接口,得到所述下载地址所对应的应用资源信息;
按照所述加载路径对所述应用资源信息进行加载,得到加载结果,并综合所述加载结果和所述初始应用程序,得到重组完成的目标应用程序;所述目标应用程序为实现完整功能的程序。
上述应用程序重组方法、装置、计算机设备、存储介质和计算机程序产品,通过获取拆分安装包,进而通过拆分安装包对初始应用程序进行安装,其中的拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径。当启动初始应用程序的运行时,便可通过重组判断接口,对初始应用程序进行包体重组检测,得到第一检测结果;当第一检测结果表征初始应用程序为实现部分功能的程序时,可通过下载启动接口,得到下载地址所对应的应用资源信息,使得按照加载路径对应用资源信息进行加载,从而得到加载结果,如此,便可综合加载结果和初始应用程序,得到重组完成的目标应用程序。由于本申请的拆分安装包中并不包含内存占据较大的应用资源信息,相较于传统的头部安装包中仍需保留充足的应用资源信息的方法,本申请仅采用内存占据较小的拆分安装包,便可在对应用资源信息进行动态加载的过程中,得到具有完成功能的目标应用程序,提高了确定目标应用程序的准确性和效率,也降低了对应用程序进行安装与运行维护的成本。
附图说明
图1为一个实施例中应用程序重组方法的应用环境图;
图2为一个实施例中应用程序重组方法的流程示意图;
图3为一个实施例中对目标待安装应用程序进行拆分的流程示意图;
图4为一个实施例中应用程序重组装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的应用程序重组方法,可以应用于如图1所示的应用环境中。其中,客户端102通过网络与云端106进行通信,服务端104通过网络与云端106进行通信。数据存储系统可以存储云端106需要处理的数据。数据存储系统可以集成在云端106上,也可以放在其他网络服务器上。客户端102用于获取服务端104提供的拆分安装包,并通过拆分安装包安装初始应用程序;启动初始应用程序,并通过重组判断接口对初始应用程序进行包体重组检测,得到第一检测结果。客户端102还用于当第一检测结果表征初始应用程序为实现部分功能的程序时,通过下载启动接口,得到下载地址所对应的应用资源信息;按照加载路径对应用资源信息进行加载,得到加载结果,并综合加载结果和初始应用程序,得到重组完成的目标应用程序,使得客户端102能运行完整功能的目标应用程序。其中,客户端102和服务端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。云端106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在其中一个实施例中,如图2所示,提供了一种应用程序重组方法,以该方法应用于图1中的客户端为例,包括以下步骤:
步骤202,获取拆分安装包,并通过拆分安装包安装初始应用程序。
其中,拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径。拆分安装包可为一种基于安卓系统的安装包文件格式,例如APK格式;拆分安装包中集成了由软件开发工具包所提供的功能接口、以及软件开发工具包对应的安装包资源信息等;软件开发工具包例如为SDK,SDK可视作一种软件交付形式,通过SDK可将初始应用程序的软件代码、资源等完整内容进行打包,并在将打包后的文件交付给另一方时进行集成。
具体地,初始应用程序也称初始APP,拆分安装包中还包括与初始应用程序相关联的安装包信息,当客户端响应于用户的安装操作时,便可通过该安装包信息,完成对初始应用程序的初步安装。当安装完初始应用程序后,客户端便可启动初始应用程序的运行,并在初步运行的过程中,实现对初始应用程序中的部分功能的调用。
在其中一个实施例中,APK格式的拆分安装包占据的内存体积仅为几十兆。
步骤204,启动初始应用程序,并通过重组判断接口对初始应用程序进行包体重组检测,得到第一检测结果。
具体地,重组判断接口可由软件开发工具包提供的功能接口确定得到,当客户端在启动初始应用程序的运行的过程中,便可调用软件开发工具包所提供的重组判断接口,对初始应用程序进行包体重组检测,也即判断初始应用程序是否已经完成组包,得到第一检测结果。其中,当初始应用程序已经完成组包,也即第一检测结果表征初始应用程序为实现全部功能的程序,客户端便可继续响应于用户的相关操作,直至执行初始应用程序中具备的全部功能。
在其中一个实施例中,在客户端中,实现部分功能的初始应用程序,对应于实现完整功能的目标应用程序。在运行目标应用程序之前,会预先对目标应用程序进行包体拆分,使得从目标应用程序中拆分出大部分内容,确保得到的拆分安装包尽可能变小。当通过拆分安装包完成对初始应用程序的安装后,需要对初始应用程序进行包体重组,使得初始应用程序在客户端运行时,能够动态加载从目标应用程序中拆分出的内容,从而达到和未做包体拆分的目标应用程序同等的运行效果。其中,动态加载表征在安卓系统中,所加载的对象不是事先打包在同一安装包文件中,而是应用程序在运行过程中从外部获取到。
步骤206,当第一检测结果表征初始应用程序为实现部分功能的程序时,通过下载启动接口,得到下载地址所对应的应用资源信息。
具体地,下载启动接口和下载地址可由软件开发工具包提供的功能接口确定得到,其中,下载地址预先通过功能接口中的初始化接口设置得到。当第一检测结果表征初始应用程序为实现部分功能的程序时,也即初始应用程序未完成组包,因此,客户端需要调用下载启动接口,并根据下载地址来获取云端中存储的应用资源信息。
在其中一个实施例中,当初始应用程序为初始游戏应用程序时,应用资源信息则为游戏资源信息。其中,游戏资源信息至少包括云游戏参数、游戏资源和游戏动态库;游戏资源可包括游戏运行中使用的素材,如3D模型、3D贴图、音视频文件等。
在其中一个实施例中,当初始应用程序为初始游戏应用程序,并在启动初始游戏应用程序的运行时,客户端便可根据第一检测结果,确定初始游戏应用程序的运行模式。当第一检测结果表征初始游戏应用程序为实现全部功能的程序时,客户端确定运行模式为本地游戏模式,也即直接加载客户端的本地数据库中预存的游戏资源信息。
在其中一个实施例中,当第一检测结果表征初始游戏应用程序为实现部分功能的程序时,用户便可进入云游戏模式,并对游戏中的部分功能进行游玩。其中,云游戏表征游戏在云端中运行,并由云端将游戏场景渲染为视频音频流,进而通过网络传输给玩家所在的客户端。因此,客户端中安装的初始游戏应用程序无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力、以及在响应于用户输入的指令时,将指令发送给云端的能力。
步骤208,按照加载路径对应用资源信息进行加载,得到加载结果,并综合加载结果和初始应用程序,得到重组完成的目标应用程序。
其中,目标应用程序为实现完整功能的程序。加载路径可通过Java反射机制实现。
在其中一个实施例中,按照加载路径对应用资源信息进行加载,得到加载结果,包括:确定应用资源信息对应的应用类型、以及应用类型中的字段信息;调用字段信息,并对加载路径对应的应用资源信息进行加载,得到加载结果。
具体地,客户端通过Java反射机制,确定应用资源信息对应的应用类型中的字段信息,例如,应用类型为安卓系统的资源管理类,字段信息为资源管理类中的一个隐藏方法字段。客户端通过调用该字段信息,便可根据加载路径对应用资源信息进行加载,也即将下载得到的应用资源信息让客户端进行应用。当加载结果表征客户端对应用资源信息进行应用后,便可和初始应用程序进行组包,得到重组完成的目标应用程序。
上述应用程序重组方法中,通过获取拆分安装包,进而通过拆分安装包对初始应用程序进行安装,其中的拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径。当启动初始应用程序的运行时,便可通过重组判断接口,对初始应用程序进行包体重组检测,得到第一检测结果;当第一检测结果表征初始应用程序为实现部分功能的程序时,可通过下载启动接口,得到下载地址所对应的应用资源信息,使得按照加载路径对应用资源信息进行加载,从而得到加载结果,如此,便可综合加载结果和初始应用程序,得到重组完成的目标应用程序。由于本申请的拆分安装包中并不包含内存占据较大的应用资源信息,相较于传统的头部安装包中仍需保留充足的应用资源信息的方法,本申请仅采用内存占据较小的拆分安装包,便可在对应用资源信息进行动态加载的过程中,得到具有完成功能的目标应用程序,提高了确定目标应用程序的准确性和效率,也降低了对应用程序进行安装与运行维护的成本。
在其中一个实施例中,如图3所示,图3为对目标待安装应用程序进行拆分的流程示意图;在获取拆分安装包之前,还包括以下步骤:
步骤S302,通过服务端,获取待安装应用程序和应用配置文件。
其中,应用配置文件包括多个功能接口;多个功能接口包括重组判断接口。应用配置文件也即软件开发工具包对应的文件,例如一种SDK文件。
具体地,在服务端中,实现部分功能的待安装应用程序,对应于实现完整功能的目标待安装应用程序。当服务端获取到待安装应用程序和应用配置文件时,便可对应用配置文件进行集成,并在启动待安装应用程序运行的过程中,实现对应用配置文件中的多个功能接口的调用。
在其中一个实施例中,服务端响应于用户对应用配置文件的设置操作,也即设置多个功能接口各自对应的功能。
步骤S304,通过服务端,并基于重组判断接口,对待安装应用程序进行包体重组检测,得到第二检测结果。
其中,基于重组判断接口,对待安装应用程序进行包体重组检测的具体实施过程,可参考步骤204中,通过重组判断接口对初始应用程序进行包体重组检测的具体实施过程,本申请在此不再赘述。
步骤S306,通过服务端,并根据第二检测结果,确定待安装应用程序对应的目标待安装应用程序。
在其中一个实施例中,根据第二检测结果,确定待安装应用程序对应的目标待安装应用程序,包括:当第二检测结果为未重组时,确定待安装应用程序对应的待生成的应用资源信息;通过初始化接口,设置与待生成的应用资源信息相关联的下载地址;通过下载地址和下载启动接口,得到应用资源信息;根据应用资源信息、待安装应用程序和应用配置文件,得到目标待安装应用程序。
其中,功能接口还包括初始化接口和下载启动接口;待生成的应用资源信息至少包括应用参数、应用资源和应用动态库;下载地址对应于云端中的地址。
具体地,服务端在确定第二检测结果为未重组时,也即待安装应用程序为5仅实现部分功能的程序,此时则需要对待安装应用程序进行功能配置,得到待安装应用程序对应的待生成的应用资源信息。其中,待生成的应用资源信息可预先存储在云端中。服务端通过调用初始化接口,便可完成对与待生成的应用资源信息相关联的下载地址的设置,并通过调用下载启动接口,下载云端中与
下载地址相对应的待生成的应用资源信息,得到应用资源信息。因此,服务端0在综合应用资源信息、待安装应用程序和应用配置文件时,便可得到具有完整功能的目标待安装应用程序。
在其中一个实施例中,根据第二检测结果,确定待安装应用程序对应的目标待安装应用程序,包括:当第二检测结果为已重组时,将待安装应用程序作为目标待安装应用程序。
5其中,服务端在确定第二检测结果为已重组时,也即待安装应用程序为实现全部功能的程序,此时便可直接对待安装应用程序进行拆分。
步骤S308,通过服务端,将目标待安装应用程序拆分成应用资源信息和拆分安装包,并将应用资源信息存储至云端,将拆分安装包下发至客户端。
其中,应用资源信息为确保目标待安装应用程序完整功能的运行时,较重0要的、体积内存占据数量较大的信息,通常为几百兆。
在其中一个实施例中,将目标待安装应用程序拆分成应用资源信息和拆分安装包,包括:从目标待安装应用程序中剔除应用资源信息,得到包含了待安装应用程序和应用配置文件的剩余文件;获取安装包资源信息;将剩余文件和安装包资源信息进行打包,得到拆分安装包。
5其中,安装包资源信息至少包括安装包资源和安装包动态库。安装包资源信息表征与应用配置文件相关联的信息,也即与SDK相关联的资源和动态库等。
具体地,服务端从目标待安装应用程序中剔除应用资源信息,得到包含了待安装应用程序和应用配置文件的剩余文件,并将剔除的应用资源信息打包后发送至云端进行存储,使得客户端在运行相关应用程序时,从云端中动态加载剔除的应用资源信息。服务端获取安装包资源信息,安装包资源信息可用于确保多个功能接口的调用,并将剩余文件和安装包资源信息进行打包,得到可下发至客户端的拆分安装包。
本实施例中,服务端在对应用配置文件进行集成的过程中,可以实现对应用资源信息的动态加载,进而准确得到具有完整功能的目标待安装应用程序;同时,通过从目标待安装应用程序拆分出占用了绝大部份存储空间的应用资源信息,进而得到占据较小存储空间的拆分安装包,降低了客户端对拆分安装包进行安装的成本。
在其中一个实施例中,根据应用资源信息、待安装应用程序和应用配置文件,得到目标待安装应用程序,包括:通过路径设置接口,设置应用资源信息的加载路径;将加载路径所指向的位置作为目标位置,并将应用资源信息放置在目标位置处,得到放置结果;综合放置结果、待安装应用程序和应用配置文件,得到目标待安装应用程序。
其中,功能接口还包括路径设置接口。
具体地,服务端在得到待安装应用程序对应的应用资源信息时,便可通过调用路径设置接口,对应用资源信息的加载路径进行设置,也即将加载路径在待安装应用程序中所指向的位置作为目标位置。服务端在运行待安装应用程序的过程中,动态加载应用资源信息,并将应用资源信息放置在目标位置处,得到放置结果。因此,服务端综合包含了放置结果的待安装应用程序、以及应用配置文件,得到目标待安装应用程序。
在其中一个实施例中,服务端通过Java反射机制,将应用资源信息的加载路径保存到本地数据库,并将本地数据库中的每个加载路径添加到安卓系统中的搜索路径列表中。
本实施例中,通过应用配置文件中的路径设置接口,便可实现对应用资源信息的动态加载,使得服务端能够快速地、准确地得到重组后的目标待安装应用程序,进而确保后续拆分过程地顺利进行。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用程序重组方法的应用程序重组装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用程序重组装置实施例中的具体限定可以参见上文中对于应用程序重组方法的限定,在此不再赘述。
在其中一个实施例中,如图4所示,提供了一种应用程序重组装置400,包括:安装包获取模块402、应用程序启动模块404和信息加载模块406,其中:
安装包获取模块402,用于获取拆分安装包,并通过拆分安装包安装初始应用程序;拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径。
应用程序启动模块404,用于启动初始应用程序,并通过重组判断接口对初始应用程序进行包体重组检测,得到第一检测结果;当第一检测结果表征初始应用程序为实现部分功能的程序时,通过下载启动接口,得到下载地址所对应的应用资源信息。
信息加载模块406,用于按照加载路径对应用资源信息进行加载,得到加载结果,并综合加载结果和初始应用程序,得到重组完成的目标应用程序;目标应用程序为实现完整功能的程序。
在其中一个实施例中,应用程序重组装置400还包括应用程序拆分模块408,用于通过服务端,获取待安装应用程序和应用配置文件;应用配置文件包括多个功能接口;多个功能接口包括重组判断接口;通过服务端,并基于重组判断接口,对待安装应用程序进行包体重组检测,得到第二检测结果;通过服务端,并根据第二检测结果,确定待安装应用程序对应的目标待安装应用程序;通过服务端,将目标待安装应用程序拆分成应用资源信息和拆分安装包,并将应用资源信息存储至云端,将拆分安装包下发至客户端。
在其中一个实施例中,应用程序拆分模块408还包括资源信息确定模块4081,用于当第二检测结果为未重组时,确定待安装应用程序对应的待生成的应用资源信息;待生成的应用资源信息至少包括应用参数、应用资源和应用动态库;通过初始化接口,设置与待生成的应用资源信息相关联的下载地址;通过下载地址和下载启动接口,得到应用资源信息;根据应用资源信息、待安装应用程序和应用配置文件,得到目标待安装应用程序。
在其中一个实施例中,应用程序拆分模块408包括资源信息放置模块4082,用于通过路径设置接口,设置应用资源信息的加载路径;将加载路径所指向的位置作为目标位置,并将应用资源信息放置在目标位置处,得到放置结果;综合放置结果、待安装应用程序和应用配置文件,得到目标待安装应用程序。
在其中一个实施例中,应用程序拆分模块408还包括安装包确定模块4083,用于从目标待安装应用程序中剔除应用资源信息,得到包含了待安装应用程序和应用配置文件的剩余文件;获取安装包资源信息;将剩余文件和安装包资源信息进行打包,得到拆分安装包。
在其中一个实施例中,资源信息确定模块4081,还用于当第二检测结果为已重组时,将待安装应用程序作为目标待安装应用程序。
在其中一个实施例中,信息加载模块406,还用于确定应用资源信息对应的应用类型、以及应用类型中的字段信息;调用字段信息,并对加载路径对应的应用资源信息进行加载,得到加载结果。
在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用程序重组方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在其中一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在其中一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在其中一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何应用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandom Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序重组方法,其特征在于,由客户端执行,所述方法包括:
获取拆分安装包,并通过所述拆分安装包安装初始应用程序;所述拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径;
启动所述初始应用程序,并通过所述重组判断接口对所述初始应用程序进行包体重组检测,得到第一检测结果;
当所述第一检测结果表征所述初始应用程序为实现部分功能的程序时,通过所述下载启动接口,得到所述下载地址所对应的应用资源信息;
按照所述加载路径对所述应用资源信息进行加载,得到加载结果,并综合所述加载结果和所述初始应用程序,得到重组完成的目标应用程序;所述目标应用程序为实现完整功能的程序。
2.根据权利要求1所述的方法,其特征在于,在所述获取拆分安装包之前,所述方法还包括:
通过服务端,获取待安装应用程序和应用配置文件;所述应用配置文件包括多个功能接口;所述多个功能接口包括重组判断接口;
通过所述服务端,并基于所述重组判断接口,对所述待安装应用程序进行包体重组检测,得到第二检测结果;
通过所述服务端,并根据所述第二检测结果,确定所述待安装应用程序对应的目标待安装应用程序;
通过所述服务端,将所述目标待安装应用程序拆分成应用资源信息和拆分安装包,并将所述应用资源信息存储至云端,将所述拆分安装包下发至客户端。
3.根据权利要求2所述的方法,其特征在于,所述功能接口还包括初始化接口和下载启动接口;所述根据所述第二检测结果,确定所述待安装应用程序对应的目标待安装应用程序,包括:
当所述第二检测结果为未重组时,确定所述待安装应用程序对应的待生成的应用资源信息;所述待生成的应用资源信息至少包括应用参数、应用资源和应用动态库;
通过所述初始化接口,设置与所述待生成的应用资源信息相关联的下载地址;所述下载地址对应于云端中的地址;
通过所述下载地址和所述下载启动接口,得到应用资源信息;
根据所述应用资源信息、所述待安装应用程序和所述应用配置文件,得到目标待安装应用程序。
4.根据权利要求3所述的方法,其特征在于,所述功能接口还包括路径设置接口;所述根据所述应用资源信息、所述待安装应用程序和所述应用配置文件,得到目标待安装应用程序,包括:
通过所述路径设置接口,设置所述应用资源信息的加载路径;
将所述加载路径所指向的位置作为目标位置,并将所述应用资源信息放置在所述目标位置处,得到放置结果;
综合所述放置结果、所述待安装应用程序和所述应用配置文件,得到目标待安装应用程序。
5.根据权利要求2所述的方法,其特征在于,所述将所述目标待安装应用程序拆分成应用资源信息和拆分安装包,包括:
从所述目标待安装应用程序中剔除应用资源信息,得到包含了所述待安装应用程序和所述应用配置文件的剩余文件;
获取安装包资源信息;所述安装包资源信息至少包括安装包资源和安装包动态库;
将所述剩余文件和所述安装包资源信息进行打包,得到拆分安装包。
6.根据权利要求2所述的方法,其特征在于,所述根据所述第二检测结果,确定所述待安装应用程序对应的目标待安装应用程序,包括:
当所述第二检测结果为已重组时,将所述待安装应用程序作为目标待安装应用程序。
7.根据权利要求1所述的方法,其特征在于,所述按照所述加载路径对所述应用资源信息进行加载,得到加载结果,包括:
确定所述应用资源信息对应的应用类型、以及所述应用类型中的字段信息;
调用所述字段信息,并加载所述加载路径对应的所述应用资源信息,得到加载结果。
8.一种应用程序重组装置,其特征在于,所述装置包括:
安装包获取模块,用于获取拆分安装包,并通过所述拆分安装包安装初始应用程序;所述拆分安装包包括重组判断接口、下载地址、下载启动接口和加载路径;
应用程序启动模块,用于启动所述初始应用程序,并通过所述重组判断接口对所述初始应用程序进行包体重组检测,得到第一检测结果;当所述第一检测结果表征所述初始应用程序为实现部分功能的程序时,通过所述下载启动接口,得到所述下载地址所对应的应用资源信息;
信息加载模块,用于按照所述加载路径对所述应用资源信息进行加载,得到加载结果,并综合所述加载结果和所述初始应用程序,得到重组完成的目标应用程序;所述目标应用程序为实现完整功能的程序。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211555460.1A CN116166417A (zh) | 2022-12-06 | 2022-12-06 | 应用程序重组方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211555460.1A CN116166417A (zh) | 2022-12-06 | 2022-12-06 | 应用程序重组方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166417A true CN116166417A (zh) | 2023-05-26 |
Family
ID=86417200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211555460.1A Pending CN116166417A (zh) | 2022-12-06 | 2022-12-06 | 应用程序重组方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166417A (zh) |
-
2022
- 2022-12-06 CN CN202211555460.1A patent/CN116166417A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9164798B2 (en) | Method, apparatus and computer for loading resource file for game engine | |
WO2022199111A1 (zh) | 应用程序中功能的实现方法、装置、电子设备和存储介质 | |
US10860303B2 (en) | Selective operating system patching/updating | |
CN109165050B (zh) | 程序的运行方法、装置、计算设备以及存储介质 | |
US10673916B1 (en) | Executing applications in remotely emulated computing devices | |
CN109408136B (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN111722885B (zh) | 程序运行方法、装置以及电子设备 | |
CN108536463A (zh) | 获取资源包的方法、装置、设备及计算机可读存储介质 | |
CN109213613B (zh) | 图像信息的传输方法、装置、存储介质及电子设备 | |
CN111389014A (zh) | 游戏资源数据监控方法、装置、计算机设备和存储介质 | |
CN112988400A (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
US9392047B1 (en) | Facilitating application compatibility across devices | |
CN114443189B (zh) | 一种图像处理方法和电子设备 | |
CN114625439A (zh) | 基于微前端架构的子应用运行方法、电子设备及存储介质 | |
CN105468402B (zh) | 用于提供启动应用的时段的方法和装置 | |
US10268647B2 (en) | Asset catalog layered image support | |
CN116166417A (zh) | 应用程序重组方法、装置、计算机设备和存储介质 | |
US20180088930A1 (en) | Updating code within an application | |
CN116974732A (zh) | 一种内存处理方法、装置、终端设备及介质 | |
CN114327675A (zh) | 小游戏应用的启动方法及相关装置 | |
WO2014024255A1 (ja) | 端末および動画再生プログラム | |
CN113972989B (zh) | 数据校验方法及存储介质、电子设备 | |
CN114095533A (zh) | 云游戏账号登录方法、装置、计算机设备及存储介质 | |
CN114070892A (zh) | 数据传输方法和装置 | |
CN115269170A (zh) | 内存申请方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |