CN111708567B - 一种应用程序的处理方法和装置 - Google Patents

一种应用程序的处理方法和装置 Download PDF

Info

Publication number
CN111708567B
CN111708567B CN202010373764.0A CN202010373764A CN111708567B CN 111708567 B CN111708567 B CN 111708567B CN 202010373764 A CN202010373764 A CN 202010373764A CN 111708567 B CN111708567 B CN 111708567B
Authority
CN
China
Prior art keywords
installation package
application
cache directory
installation
application program
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.)
Active
Application number
CN202010373764.0A
Other languages
English (en)
Other versions
CN111708567A (zh
Inventor
栗庆庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN202010373764.0A priority Critical patent/CN111708567B/zh
Publication of CN111708567A publication Critical patent/CN111708567A/zh
Application granted granted Critical
Publication of CN111708567B publication Critical patent/CN111708567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种应用程序的处理方法及装置,在应用程序的开发过程中,可以先确定应用程序的应用安装包,接着判断检测终端的缓存目录中是否存在应用安装包,若不存在,则编译出应用安装包,并将应用安装包缓存于缓存目录中,接着确定缓存目录中应用安装包的数量是否与预设的数量相等,若数量相等,则将缓存目录中的应用安装包安装于检测终端中,以对应用程序的完整性进行检测,从而在开发过程中,可以通过缓存策略缓存已经编译出来的安装包,避免用户手动对应用程序所有的安装包进行手动编译,降低了编译错误率,并对安装包的数量进行验证,保证缓存目录中安装包数量的正确性,进而提高了应用程序开发的效率。

Description

一种应用程序的处理方法和装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种应用程序的处理方法和一种应用程序的处理装置。
背景技术
应用安装包是应用程序进行安装时的所有文件的集合,通过在电子设备(如手机,笔记本电脑等)上运行应用安装包,应用程序的所有文件将释放到电子设备磁盘上,完成应用在电子设备上的装载。
随着应用程序功能的不断丰富,开发人员在开发应用程序之初,需要对应用程序所需要的数据、运行框架等进行整合,从而生成应用程序的安装包。当前,随着应用程序的功能迭代,应用程序的安装包可以由多个不同的子安装包APK(Android ApplicationPackage,Android应用程序包)组成,不同的子安装包可以对应于应用程序不同的应用功能。然而,在应用程序的开发过程中,对于安装包的编译需要开发人员将所有的安装包手动编译出来,并对编译后的安装包进行处理,然后安装于用户终端中。在该过程中,每一步操作都需要开发人员手动操作,不仅容易出错,而且十分影响应用程序的开发效率。
发明内容
本发明实施例是提供一种应用程序的处理方法,以解决现有技术中应用程序开发效率低下,无法保证APK的正确性的问题。
相应的,本发明实施例还提供了一种应用程序的处理装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种应用程序的处理方法,所述方法包括:
确定应用程序的应用安装包;
当预设的缓存目录中不存在所述应用安装包时,则将所述应用安装包缓存于所述缓存目录中;
确定所述缓存目录中应用安装包的缓存安装包数量;
当所述缓存安装包数量与预设安装包数量相等时,则将所述应用安装包安装于预设的检测终端中。
可选地,所述应用安装包包括基础安装包与拓展安装包,所述当预设的缓存目录中不存在所述应用安装包时,则将所述应用安装包缓存于所述缓存目录中,包括:
当预设的缓存目录中不存在基础安装包时,则将所述应用程序的目标基础安装包缓存于所述缓存目录中;
当所述缓存目录中不存在拓展安装包时,则将所述应用程序的至少一个目标拓展安装包缓存于所述缓存目录中。
可选地,还包括:
当所述缓存目录中存在所述基础安装包时,则获取所述缓存目录中当前基础安装包的当前版本号,以及所述应用程序的目标基础安装包的目标版本号;
当所述目标版本号大于所述当前版本号时,则删除所述当前基础安装包,并将所述目标基础安装包缓存于所述缓存目录中。
可选地,还包括:
当所述缓存目录中存在所述拓展安装包时,则获取所述缓存目录中当前拓展安装包的当前版本号,以及所述应用程序的目标拓展安装包的目标版本号;
当所述目标版本号大于所述当前版本号时,则删除所述当前拓展安装包,并将所述目标拓展安装包缓存于所述缓存目录中。
可选地,所述应用安装包包括基础安装包与拓展安装包,所述确定应用程序的应用安装包,包括:
获取针对应用程序的工程文件,以及工程数据;
采用所述工程文件与所述工程数据,生成所述应用程序的基础安装包与至少一个拓展安装包。
可选地,还包括:
当所述缓存安装包数量小于预设安装包数量时,则从所述工程文件中获取所述应用程序各个应用安装包的包标识;
将所述缓存目录中的目标基础安装包与至少一个目标拓展安装包,与所述包标识进行匹配,确定所述缓存目录中缺失的目标应用安装包;
采用所述工程文件与所述工程数据,编译所述目标应用安装包,并将所述目标应用安装包缓存于所述缓存目录中。
本发明实施例公开了一种应用程序的处理装置,所述装置包括:
安装包确定模块,用于确定应用程序的应用安装包;
安装包缓存模块,用于当预设的缓存目录中不存在所述应用安装包时,则将所述应用安装包缓存于所述缓存目录中;
安装包数量确定模块,用于确定所述缓存目录中应用安装包的缓存安装包数量;
安装包安装模块,用于当所述缓存安装包数量与预设安装包数量相等时,则将所述应用安装包安装于预设的检测终端中。
可选地,所述应用安装包包括基础安装包与拓展安装包,所述安装包缓存模块包括:
基础安装包缓存子模块,用于当预设的缓存目录中不存在基础安装包时,则将所述应用程序的目标基础安装包缓存于所述缓存目录中;
拓展安装包缓存子模块,用于当所述缓存目录中不存在拓展安装包时,则将所述应用程序的至少一个目标拓展安装包缓存于所述缓存目录中。
可选地,还包括:
第一版本号获取模块,用于当所述缓存目录中存在所述基础安装包时,则获取所述缓存目录中当前基础安装包的当前版本号,以及所述应用程序的目标基础安装包的目标版本号;
第一安装包更新模块,用于当所述目标版本号大于所述当前版本号时,则删除所述当前基础安装包,并将所述目标基础安装包缓存于所述缓存目录中。
可选地,还包括:
第二版本号获取模块,用于当所述缓存目录中存在所述拓展安装包时,则获取所述缓存目录中当前拓展安装包的当前版本号,以及所述应用程序的目标拓展安装包的目标版本号;
第二安装包更新模块,用于当所述目标版本号大于所述当前版本号时,则删除所述当前拓展安装包,并将所述目标拓展安装包缓存于所述缓存目录中。
可选地,所述应用安装包包括基础安装包与拓展安装包,所述安装包确定模块具体用于:
获取针对应用程序的工程文件,以及工程数据;
采用所述工程文件与所述工程数据,生成所述应用程序的基础安装包与至少一个拓展安装包。
可选地,还包括:
包标识获取模块,用于当所述缓存安装包数量小于预设安装包数量时,则从所述工程文件中获取所述应用程序各个应用安装包的包标识;
包标识匹配模块,用于将所述缓存目录中的目标基础安装包与至少一个目标拓展安装包,与所述包标识进行匹配,确定所述缓存目录中缺失的目标应用安装包;
安装包编译模块,用于采用所述工程文件与所述工程数据,编译所述目标应用安装包,并将所述目标应用安装包缓存于所述缓存目录中。
本发明实施例公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上所述的一个或多个的方法。
本发明实施例公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的方法。
本发明实施例包括以下优点:
在本发明实施例中,在应用程序的开发过程中,可以先确定应用程序的应用安装包,接着判断检测终端的缓存目录中是否存在应用安装包,若不存在,则编译出应用安装包,并将应用安装包缓存于缓存目录中,接着确定缓存目录中应用安装包的数量是否与预设的数量相等,若数量相等,则将缓存目录中的应用安装包安装于检测终端中,以对应用程序的完整性进行检测,从而在开发过程中,可以通过缓存策略缓存已经编译出来的安装包,避免用户手动对应用程序所有的安装包进行手动编译,降低了编译错误率,并对安装包的数量进行验证,保证缓存目录中安装包数量的正确性,进而提高了应用程序开发的效率。
附图说明
图1是本发明的一种应用程序的处理方法实施例的步骤流程图;
图2是本发明实施例中应用程序的安装流程图;
图3是本发明实施例中应用程序的安装流程图;
图4是本发明的一种应用程序的处理装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
随着应用程序功能的不断丰富,开发人员在开发应用程序之初,需要对应用程序所需要的数据、运行框架等进行整合,从而生成应用程序的安装包。在开发模式下不论开发了多少功能,最终都会将这些功能集成到一个APK中,一个APK对应一个应用程序,最终导致APK越来越大,从而对应用程序的开发、维护带来许多的问题。例如APK下载慢、工程编译速度慢等等。
为了有效对APK的大小进行控制,以及提高开发与维护的效率,可以将应用程序的功能拆分为不同的子APK,然后对所有的子APK进行整合,得到一个应用程序的完整APK。在开发过程中,对于包括多个子APK的应用程序,需要开发人员手动编译每个子APK,然后再将所有的子APK安装于测试终端中,对应用程序进行测试。然而,该过程中,需要开发人员手动编译所有的子APK,不仅手动编译效率低下,且无法保证APK数量的正确性。
因此,本发明实施例的核心发明点之一在于采用缓存策略缓存已经编译出来的APK,然后对APK的数量进行验证,保证缓存目录中APK的数量与应用程序对应的APK数量两者之间的一致性,保证了缓存目录中APK的正确性,然后将缓存目录中的所有APK安装于检测终端中,以便对应用程序的完整性进行验证。
参照图1,示出了本发明的一种应用程序的处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,确定应用程序的应用安装包;
作为一种示例,对于一个应用程序的应用安装包可以包括基础安装包以及拓展安装包。其中,基础安装包可以为应用程序提供的基础应用功能所涉及的代码与资源,例如可以为应用程序的核心服务功能,包括下载、更新、应用程序首页的承载等等;拓展安装包可以为应用程序提供的拓展应用功能所涉及的代码与资源,例如可以为应用程序的拓展应用功能,包括首页下各个模块所涉及的拓展服务功能等等。
在本发明实施例中,当对应用程序的各个模块功能开发完成后,可以先编译成对应的应用安装包,以便将应用安装包安装于检测终端中,对应用程序的应用功能进行测试,验证应用程序的各项应用功能,以及应用程序的完整性。
在本发明的一种可选实施例中,开发人员可以在工程文件中对应用程序各项功能模块进行开发,从而在开发完成后,可以获取针对应用程序的工程文件,以及工程数据,然后根据工程文件与工程数据,编译出应用程序的基础安装包以及至少一个拓展安装包。其中,工程数据可以为应用程序所需的资源数据,包括图片数据、音频数据以及视频数据等等。
在具体实现中,在对应用程序的应用功能开发完成后,可以自动编译出应用程序的所有应用安装包,避免了开发人员手动对所有的应用安装包进行编译,降低了编译错误率,提高了开发效率。
需要说明的是,检测终端可以包括智能手机、平板电脑等等,通过将应用程序安装于检测终端中,可以验证应用程序的应用功能,以及应用程序安装包的完整性。
步骤102,当预设的缓存目录中不存在所述应用安装包时,则将所述应用安装包缓存于所述缓存目录中;
在本发明实施例中,在应用程序的安装检测过程中,可以将应用安装包缓存于检测终端的缓存目录中,避免在开发过程中,对其中一个模块进行编译,导致其他模块已经编译好的应用安装包被删除,同时有利于对应用安装包进行统一的管理,提高开发的效率。
在具体实现中,当得到应用程序的应用安装包之后,可以先对缓存目录中是否存在相应的应用安装包进行检测,当缓存目录中不存在应用安装包时,则编译出应用安装包,并将应用安装包缓存于缓存目录中;当缓存目录中存在应用安装包时,则获取缓存目录中当前应用安装包的当前版本号,以及目标应用安装包的目标版本号,然后进行版本号的比对,若目标版本号大于当前版本号,即目标应用安装包的版本新于当前应用安装包,可以对缓存目录中的应用安装包进行更新。
在本发明的一种可选实施例中,应用安装包可以包括基础安装包以及至少一个应用安装包,则当缓存目录中不存在基础安装包时,可以将编译出的目标基础安装包缓存于检测终端的缓存目录中;接着对缓存目录是否存在拓展安装包进行检测,当缓存目录中不存在拓展安装包时,则将编译出的至少一个目标拓展安装包缓存于缓存目录中。
在本发明的另一种可选实施例中,当缓存目录中存在基础安装包时,则获取缓存目录中当前基础安装包的当前版本号,以及应用程序的目标基础安装包的目标版本号;当目标版本号大于当前版本号时,则删除当前基础安装包,并将目标基础安装包缓存于缓存目录中。
当缓存目录中存在拓展安装包时,则获取缓存目录中当前拓展安装包的当前版本号,以及应用程序的目标拓展安装包的目标版本号;当目标版本号大于当前版本号时,则删除当前拓展安装包,并将目标拓展安装包缓存于缓存目录中。
具体的,通过判断缓存目录中是否存在相应的应用安装包,可以将编译出来的应用安装包缓存于缓存目录汇总,解决了在编译某个模块时容易导致其他模块已经编译好的应用安装包被删除,同时可以有利于对所有的应用安装包进行统一管理,提高应用程序的开发效率。
步骤103,确定所述缓存目录中应用安装包的缓存安装包数量;
在具体实现中,为了保证缓存目录中缓存的应用安装包的完整性,需要对应用安装包的数量进行统计,并与工程文件中记录的数量进行比对,保证缓存目录中应用安装包数量的准确性。
步骤104,当所述缓存安装包数量与预设安装包数量相等时,则将所述应用安装包安装于预设的检测终端中。
在具体实现中,当缓存目录中的缓存安装包的数量与预设安装包数量相等时,表示此时缓存目录中缓存了完整的应用安装包,可以将所有的应用安装包安装包于检测终端中,对应用程序的应用功能,以及应用程序安装包的完整性进行验证,以确定应用程序是否开发或维护成功。
当缓存安装包数量小于预设安装包数量时,表示此时缓存目录中缓存的应用安装包出现了缺失,需要确定缺失哪个应用安装包,因此可以从工程文件中获取应用程序各个应用安装包的包标识,接着将缓存目录中的目标基础安装包与至少一个目标拓展安装包,与包标识进行匹配,确定缓存目录中缺失的目标应用安装包,然后采用工程文件与工程数据,编译目标应用安装包,并将目标应用安装包缓存于缓存目录中,从而通过重新编译缺失的应用安装包,保证缓存目录中应用安装包的完整性。
在本发明实施例中,在应用程序的开发过程中,可以先确定应用程序的应用安装包,接着判断检测终端的缓存目录中是否存在应用安装包,若不存在,则编译出应用安装包,并将应用安装包缓存于缓存目录中,接着确定缓存目录中应用安装包的数量是否与预设的数量相等,若数量相等,则将缓存目录中的应用安装包安装于检测终端中,以对应用程序的完整性进行检测,从而在开发过程中,可以通过缓存策略缓存已经编译出来的安装包,避免用户手动对应用程序所有的安装包进行手动编译,降低了编译错误率,并对安装包的数量进行验证,保证缓存目录中安装包数量的正确性,进而提高了应用程序开发的效率。
为了使本领域技术人员能够更好地理解本发明实施例,下面通过一个例子对本发明实施例加以说明:
本发明实施例可以通过gradle task脚本实现的,即安装器。安装器可以包括三部分,分别是输入源、控制器、执行命令。其中,输入源可以为APK缓存的缓存目录,执行命令可以为通过控制器对APK进行整理后,调用Android的Adb Install-Multiple–r命令将所有APK安装到检测终端中。其中,APK可以包括Base APK,以及split APK,Base APK包含应用的核心功能,split APK包含各种业务功能。此外,控制器可以维护cache目录下的APK数量和正确性。
对于APK数量,需要保证编译出来的APK与工程里需要编译的数量是一致的;对于正确性,则指cache目录下缓存的APK为编译完成后最新版本的APK,否则无法在检测终端中体现应用程序的更新。
在一种场景中,控制器可以实现直接安装,目的在于快速安装,因此可以先检测缓存目录中是否存在Base APK,以及split APK,若存在则直接安装,若不存在则根据工程文件与工程数据,编译出相应的APK,然后进行安装。在该场景下,可以通过验证缓存目录下APK的数量是否与工程文件中需要编译的APK数量的一致性,保证应用程序的完整性。
具体的,如图2所示,示出了本发明实施例中应用程序的安装流程图,控制器执行安装脚本,判断缓存目录cache是否存在Base APK,如果不存在则将Base APK编译完成并拷贝到cache目录下,然后判断其他split APK是否存在,将不存在的APK编译完成并拷贝到cache目录下。当所有APK拷贝至cache目录后,判断cache目录下的APK个数是否与需要编译出的APK个数一致,如果一致则执行安装命令将所有APK安装到手机否则停止运行并报警提示错误信息。
在另一种场景中,在开发阶段,开发人员对其中某个模块进行独立开发或维护时,控制器可以实现编译并安装,即在开发人员开发完毕后,进行APK编译,并将APK安装至检测终端。具体的,应用程序可以分为基础模块和拓展模块,基础模块是核心业务,包含下载、更新、APP首页的承载等。业务模块即split模块,比如二手车、租房、招聘等拓展服务,每一个都是一个split模块。不论是Base还是split模块每一个都需要独立开发成一个APK。
当前模块功能开发完成后需要先编译成APK然后再安装到检测终端,才能体现出新开发的功能。所以这种方式必须在当前模块下编译出APK,然后将新编译的APK替换旧的APK再安装到手机。
如图3所示,示出了本发明实施例中应用程序的安装流程图,当对其中某个模块进行单独开发时,首先编译该模块对应的APK,如果编译失败则停止运行并报警提示使用者失败的原因,编译成功则将编译完成的APK拷贝至cache目录下,如果cache目录有该模块对应的旧版本APK,则进行覆盖。接着执行上一场景对应的安装流程,在此不再赘述,从而在开发过程中,可以通过缓存策略缓存已经编译出来的安装包,避免用户手动对应用程序所有的安装包进行手动编译,降低了编译错误率,并对安装包的数量进行验证,保证缓存目录中安装包数量的正确性,进而提高了应用程序开发的效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种应用程序的处理装置实施例的结构框图,具体可以包括如下模块:
安装包确定模块401,用于确定应用程序的应用安装包;
安装包缓存模块402,用于当预设的缓存目录中不存在所述应用安装包时,则将所述应用安装包缓存于所述缓存目录中;
安装包数量确定模块403,用于确定所述缓存目录中应用安装包的缓存安装包数量;
安装包安装模块404,用于当所述缓存安装包数量与预设安装包数量相等时,则将所述应用安装包安装于预设的检测终端中。
在本发明的一种可选实施例中,所述应用安装包包括基础安装包与拓展安装包,所述安装包缓存模块402包括:
基础安装包缓存子模块,用于当预设的缓存目录中不存在基础安装包时,则将所述应用程序的目标基础安装包缓存于所述缓存目录中;
拓展安装包缓存子模块,用于当所述缓存目录中不存在拓展安装包时,则将所述应用程序的至少一个目标拓展安装包缓存于所述缓存目录中。
在本发明的一种可选实施例中,还包括:
第一版本号获取模块,用于当所述缓存目录中存在所述基础安装包时,则获取所述缓存目录中当前基础安装包的当前版本号,以及所述应用程序的目标基础安装包的目标版本号;
第一安装包更新模块,用于当所述目标版本号大于所述当前版本号时,则删除所述当前基础安装包,并将所述目标基础安装包缓存于所述缓存目录中。
在本发明的一种可选实施例中,还包括:
第二版本号获取模块,用于当所述缓存目录中存在所述拓展安装包时,则获取所述缓存目录中当前拓展安装包的当前版本号,以及所述应用程序的目标拓展安装包的目标版本号;
第二安装包更新模块,用于当所述目标版本号大于所述当前版本号时,则删除所述当前拓展安装包,并将所述目标拓展安装包缓存于所述缓存目录中。
在本发明的一种可选实施例中,所述应用安装包包括基础安装包与拓展安装包,所述安装包确定模块401具体用于:
获取针对应用程序的工程文件,以及工程数据;
采用所述工程文件与所述工程数据,生成所述应用程序的基础安装包与至少一个拓展安装包。
在本发明的一种可选实施例中,还包括:
包标识获取模块,用于当所述缓存安装包数量小于预设安装包数量时,则从所述工程文件中获取所述应用程序各个应用安装包的包标识;
包标识匹配模块,用于将所述缓存目录中的目标基础安装包与至少一个目标拓展安装包,与所述包标识进行匹配,确定所述缓存目录中缺失的目标应用安装包;
安装包编译模块,用于采用所述工程文件与所述工程数据,编译所述目标应用安装包,并将所述目标应用安装包缓存于所述缓存目录中。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种应用程序的处理方法和一种应用程序的处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种应用程序的处理方法,其特征在于,所述方法包括:
确定应用程序的应用安装包,所述应用安装包包括基础安装包以及拓展安装包;
当预设的缓存目录中不存在所述应用安装包时,则将所述应用安装包缓存于所述缓存目录中;
确定所述缓存目录中应用安装包的缓存安装包数量;
当所述缓存安装包数量与预设安装包数量相等时,则将所述应用安装包安装于预设的检测终端中。
2.根据权利要求1所述的方法,其特征在于,所述当预设的缓存目录中不存在所述应用安装包时,则将所述应用安装包缓存于所述缓存目录中,包括:
当预设的缓存目录中不存在基础安装包时,则将所述应用程序的目标基础安装包缓存于所述缓存目录中;
当所述缓存目录中不存在拓展安装包时,则将所述应用程序的至少一个目标拓展安装包缓存于所述缓存目录中。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
当所述缓存目录中存在所述基础安装包时,则获取所述缓存目录中当前基础安装包的当前版本号,以及所述应用程序的目标基础安装包的目标版本号;
当所述目标版本号大于所述当前版本号时,则删除所述当前基础安装包,并将所述目标基础安装包缓存于所述缓存目录中。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
当所述缓存目录中存在所述拓展安装包时,则获取所述缓存目录中当前拓展安装包的当前版本号,以及所述应用程序的目标拓展安装包的目标版本号;
当所述目标版本号大于所述当前版本号时,则删除所述当前拓展安装包,并将所述目标拓展安装包缓存于所述缓存目录中。
5.根据权利要求1所述的方法,其特征在于,所述应用安装包包括基础安装包与拓展安装包,所述确定应用程序的应用安装包,包括:
获取针对应用程序的工程文件,以及工程数据;
采用所述工程文件与所述工程数据,生成所述应用程序的基础安装包与至少一个拓展安装包。
6.根据权利要求5所述的方法,其特征在于,还包括:
当所述缓存安装包数量小于预设安装包数量时,则从所述工程文件中获取所述应用程序各个应用安装包的包标识;
将所述缓存目录中的目标基础安装包与至少一个目标拓展安装包,与所述包标识进行匹配,确定所述缓存目录中缺失的目标应用安装包;
采用所述工程文件与所述工程数据,编译所述目标应用安装包,并将所述目标应用安装包缓存于所述缓存目录中。
7.一种应用程序的处理装置,其特征在于,所述装置包括:
安装包确定模块,用于确定应用程序的应用安装包,所述应用安装包包括基础安装包以及拓展安装包;
安装包缓存模块,用于当预设的缓存目录中不存在所述应用安装包时,则将所述应用安装包缓存于所述缓存目录中;
安装包数量确定模块,用于确定所述缓存目录中应用安装包的缓存安装包数量;
安装包安装模块,用于当所述缓存安装包数量与预设安装包数量相等时,则将所述应用安装包安装于预设的检测终端中。
8.根据权利要求7所述的装置,其特征在于,所述安装包缓存模块包括:
基础安装包缓存子模块,用于当预设的缓存目录中不存在基础安装包时,则将所述应用程序的目标基础安装包缓存于所述缓存目录中;
拓展安装包缓存子模块,用于当所述缓存目录中不存在拓展安装包时,则将所述应用程序的至少一个目标拓展安装包缓存于所述缓存目录中。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-6任一项所述的方法。
10.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-6任一项所述的方法。
CN202010373764.0A 2020-05-06 2020-05-06 一种应用程序的处理方法和装置 Active CN111708567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010373764.0A CN111708567B (zh) 2020-05-06 2020-05-06 一种应用程序的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010373764.0A CN111708567B (zh) 2020-05-06 2020-05-06 一种应用程序的处理方法和装置

Publications (2)

Publication Number Publication Date
CN111708567A CN111708567A (zh) 2020-09-25
CN111708567B true CN111708567B (zh) 2023-05-23

Family

ID=72536455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010373764.0A Active CN111708567B (zh) 2020-05-06 2020-05-06 一种应用程序的处理方法和装置

Country Status (1)

Country Link
CN (1) CN111708567B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220059A (zh) * 2017-06-14 2017-09-29 北京小米移动软件有限公司 应用界面的显示方法及装置
CN109857454A (zh) * 2018-12-15 2019-06-07 中国平安人寿保险股份有限公司 安装包生成与缓存方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539676B (zh) * 2014-12-18 2016-04-13 深圳市腾讯计算机系统有限公司 提供、获取应用安装包的方法、装置和系统
CN105391757B (zh) * 2015-10-09 2018-09-25 南京工程学院 一种高安全性的软件安装方法
CN105930197A (zh) * 2016-06-28 2016-09-07 乐视控股(北京)有限公司 一种软件升级的方法及电子设备
CN106528113A (zh) * 2016-10-25 2017-03-22 北京小米移动软件有限公司 文件编译方法及装置
KR101895876B1 (ko) * 2016-11-14 2018-09-06 숭실대학교산학협력단 애플리케이션 악성 판단 시스템 및 방법, 이를 수행하기 위한 기록 매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220059A (zh) * 2017-06-14 2017-09-29 北京小米移动软件有限公司 应用界面的显示方法及装置
CN109857454A (zh) * 2018-12-15 2019-06-07 中国平安人寿保险股份有限公司 安装包生成与缓存方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111708567A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
KR100952251B1 (ko) 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지
US8938735B2 (en) Bootstrapper and software download manager
US8589889B2 (en) Apparatus and method of detecting errors in embedded software
CN106020873B (zh) 补丁包加载方法及装置
CN105446712B (zh) 一种应用程序缺陷修补方法及装置
US8978015B2 (en) Self validating applications
US7627866B2 (en) Systems and methods for dynamic application patching
CN104461582A (zh) 业务处理方法、装置以及设备
CN104918114A (zh) 一种操作系统升级方法及装置
CN110888652A (zh) 基于jenkins插件的多版本构建方法及终端
JP2006520973A (ja) Ejbコンパイラをいつ実行する必要があるかを決定するためのシステム及び方法
CN111708567B (zh) 一种应用程序的处理方法和装置
CN111061486B (zh) 一种安卓应用程序增量方法
US9122550B2 (en) Method and device for program installation
CN107479923A (zh) 应用程序升级方法、装置及显示终端
CN112882733B (zh) 应用更新方法及装置、电子设备、存储介质
US9075679B1 (en) Creating a prerequisite checklist corresponding to a software application
CN113342376B (zh) 一种针对物联网设备的操作系统进行升级的方法及装置
CN113590179B (zh) 插件检测方法、装置、电子设备及存储介质
CN106778270B (zh) 一种恶意应用程序的检测方法及系统
CN110673961A (zh) 一种基于nfs服务的远程调试方法
CN110362320B (zh) 一种应用开发平台的命令实现方法和装置
CN114706706A (zh) 应用软件的修复方法、装置及电子设备
US20090089779A1 (en) Apparatus system and method for customizing a computing environment
CN113377413A (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
GR01 Patent grant
GR01 Patent grant