CN107678755B - 安装包打包的方法、装置、电子设备和计算机可读介质 - Google Patents

安装包打包的方法、装置、电子设备和计算机可读介质 Download PDF

Info

Publication number
CN107678755B
CN107678755B CN201710821238.4A CN201710821238A CN107678755B CN 107678755 B CN107678755 B CN 107678755B CN 201710821238 A CN201710821238 A CN 201710821238A CN 107678755 B CN107678755 B CN 107678755B
Authority
CN
China
Prior art keywords
installation package
component information
component
components
packaging
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
CN201710821238.4A
Other languages
English (en)
Other versions
CN107678755A (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 Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710821238.4A priority Critical patent/CN107678755B/zh
Publication of CN107678755A publication Critical patent/CN107678755A/zh
Application granted granted Critical
Publication of CN107678755B publication Critical patent/CN107678755B/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/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种安装包打包的方法、装置、电子设备和计算机可读介质,通过需求配置的方案,能够不通过编译而只是通过重新打包的方式高效实现不同大小的安装包,从而有利于软件的营销推广。该方法包括:解包软件的原始安装包,获取所述原始安装包中包含的所有组件信息;根据特定维度配置需求,对所述所有组件信息中的可配置组件进行配置,并保存配置后的组件信息;对比所述配置后的组件信息和所述所有组件信息,将所述配置后的组件信息中不包含而所述所有组件信息中包含的组件从所述原始安装包中删除,生成新安装包并打包。

Description

安装包打包的方法、装置、电子设备和计算机可读介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种安装包打包的方法、装置、电子设备和计算机可读介质。
背景技术
安装包(Install pack),即软件安装包,是可自行解压缩文件的集合,其中包括软件安装的所有文件。一个软件压缩进一个安装包后,可以在任何符合要求的电子设备上安装,并将其注册进注册表。网上的游戏,软件,CD中的软件,大多都是安装包。它移动方便,并使占用的空间大大减小,使下载软件所需的的时间大大减少。随着计算机技术的高速发展,使用安装包下载安装的各种软件已成为各个行业服务提供商面向用户的重要窗口,而软件的推广下载成本也越来越高,软件安装包的大小对推广也影响较大。理论上来说,越小的安装包对推广越有力。
而现有技术中,打包后软件安装包对并不会根据各个不同维度的配置需求或情况的不同进行安装包大小的调整,安装包打包好之后,针对不同维度都是同样的包和大小。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
对于不同维度而言,生成的安装包都是一个大小,而无法根据不同维度的推广、安装或配置等需求生成不同大小的安装包。无法体现各个维度需求的差异性,不利于安装包的推广应用。
发明内容
有鉴于此,本发明实施例提供一种安装包打包的方法、装置、电子设备和计算机可读介质,通过需求配置的方案,能够不通过编译而只是通过重新打包的方式高效实现不同大小的安装包,从而有利于软件的营销推广。
为实现上述目的,根据本发明实施例的一个方面,提供了一种安装包打包的方法。
本发明实施例的一种安装包打包的方法包括:解包软件的原始安装包,获取所述原始安装包中包含的所有组件信息;根据特定维度配置需求,对所述所有组件信息中的可配置组件进行配置,并保存配置后的组件信息;对比所述配置后的组件信息和所述所有组件信息,将所述配置后的组件信息中不包含而所述所有组件信息中包含的组件从所述原始安装包中删除,生成新安装包并打包。
可选地,所述方法还包括:在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装。
可选地,所述可配置组件包括安卓组件和/或React Native组件。
可选地,对所述所有组件信息中的可配置组件进行配置包括:通过CMS对可配置组件进行增、删、改、查中的至少一种操作。
可选地,所述方法还包括:在生成新安装包并打包之后,对所述新安装包进行自动化测试;和/或在对从原始安装包中删除的组件进行后安装之后,对所述后安装的组件进行自动化测试。
为实现上述目的,根据本发明实施例的另一方面,提供了一种安装包打包的装置。
本发明实施例的一种安装包打包的装置包括:解包模块,用于解包软件的原始安装包,获取所述原始安装包中包含的所有组件信息;配置模块,用于根据特定维度配置需求,对所述所有组件信息中的可配置组件进行配置,并保存配置后的组件信息;打包模块,用于对比所述配置后的组件信息和所述所有组件信息,将所述配置后的组件信息中不包含而所述所有组件信息中包含的组件从所述原始安装包中删除,生成新安装包并打包。
可选地,所述装置还包括:后安装模块,用于在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装。
可选地,所述可配置组件包括安卓组件和/或React Native组件。
可选地,所述配置模块还用于:通过CMS对可配置组件进行增、删、改、查中的至少一种操作。
可选地,所述装置还包括:自动化测试模块,用于在生成新安装包并打包之后,对所述新安装包进行自动化测试;和/或在对从原始安装包中删除的组件进行后安装之后,对所述后安装的组件进行自动化测试。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的安装包打包的方法。
为实现上述目的,根据本发明实施例的又一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的安装包打包的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用根据特定维度配置需求,对原始安装包中的可配置化组件进行修改配置的技术手段,所以克服了不同维度安装包一致,且包大小一致的技术问题,进而达到不需要编译而只是通过重新打包的方式高效实现不同大小的包,便于运营人员进行营销推广,提高软件安装包的点击、下载、安装等转化效率的技术效果;通过在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装,从而能够保证软件运行时不影响其可配置化功能的使用;本发明实施例中,可配置组件可以包括安卓组件和/或React Native组件,从而能够针对众多安卓客户端,根据不同维度的配置需求,配置安装包大小;通过CMS对可配置组件进行增、删、改、查中的至少一种操作,从而能够根据特定维度配置需求灵活配置安装包的大小;通过在生成新安装包并打包之后,对新安装包进行自动化测试,和/或在对从原始安装包中删除的组件进行后安装之后,对后安装的组件进行自动化测试,从而能够保证重新打包配置以及完成后安装的软件能够有效运行。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例可以应用于其中的示例性系统架构图;
图2是根据本发明实施例的安装包打包的方法的主要步骤的示意图;
图3是可用于实现本发明实施例的安装包打包的方法的打包配置系统的主要框架示意图;
图4是根据本发明实施例的安装包打包的方法的具体流程的示意图;
图5是根据本发明实施例的安装包打包的装置的主要模块的示意图;
图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了可以应用本发明实施例的安装包打包方法或安装包打包装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的安装包打包方法一般由服务器105执行,相应地,安装包打包装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本发明实施例提供一种安装包打包的技术方案,通过特定维度配置需求配置软件安装包,能够在不通过编译而只是通过重新打包的情况下,高效实现针对不同维度的不同大小的包的效果。由于目前所有的安装包都是同一个包,大小一样,无法体现各个维度需求的差异性,而且包的大小对用户点击、下载、安装等转化行为是有影响的,包越小,用户下载安装的概率越大,因此提供差异化的、不同大小的安装包,对于线上推广运营人员而言很有必要。本发明实施例能够实现根据不同维度需求打包后的安装包,在运行时功能基本不受影响,有利于软件的营销推广。
图2是根据本发明实施例的安装包打包的方法的主要步骤的示意图。
如图2所示,本发明实施例的安装包打包的方法主要包括如下步骤:
步骤S201:解包软件的原始安装包,获取原始安装包中包含的所有组件信息。
在步骤S201获取原始安装包中包含的所有组件信息之后,从步骤S202进行配置。
步骤S202:根据特定维度配置需求,对所有组件信息中的可配置组件进行配置,并保存配置后的组件信息。其中,可配置组件可以但不限于包括安卓组件和/或React Native组件。对所有组件信息中的可配置组件进行配置可以是通过CMS(CMS是"ContentManagement System"的缩写,意为“内容管理系统”)对可配置组件进行增、删、改、查中的至少一种操作。
步骤S203:对比配置后的组件信息和所有组件信息,将配置后的组件信息中不包含而所有组件信息中包含的组件从原始安装包中删除,生成新安装包并打包。
本发明实施例的安装包打包的方法还可以包括:在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装。
另外,本发明实施例的安装包打包的方法还可以包括:在生成新安装包并打包之后,对所述新安装包进行自动化测试;和/或在对从原始安装包中删除的组件进行后安装之后,对所述后安装的组件进行自动化测试。
本发明实施例安装包打包的技术方案可以适用于各种具有不同包大小需求的维度中,例如在移动客户端的推广过程中,针对不同渠道进行软件推广时,软件安装包的大小对用户的点击、下载、安装具有重要的影响。后续描述中,将以移动客户端的不同推广渠道为例,进行本发明实施例的安装包打包的技术方案的详细阐述。以移动客户端的不同推广渠道为例进行说明,并不限定本发明实施例的技术方案只适用于移动客户端的安装包的打包,也不是限定本发明实施例的技术上方案只针对于不同渠道的需求进行重新打包。凡是涉及安装包的大小对需求有影响的各个维度、各类应用场景,均属本发明实施例的技术方案的保护范围之列。
前述提及的“渠道”,英文为channel,通常指水渠、沟渠,是水流的通道。但被引入到商业领域中,可引申为与公司相关、独立经营,在公司所制造的产品送达消费者的过程中发挥某种作用的经济组织。例如在软件产品的推广过程中,实务较为常用的应用宝、小米应用商店、百度手机助手等应用商店均可称之为渠道。
图3是可用于实现本发明实施例的安装包打包的方法的打包配置系统的主要框架示意图。
如图3所示,本发明实施例中,通过安装包管理系统实现安装包打包的方法,其中,安装包管理系统采用CMS对可配置组件进行管理,基于不同维度配置需求的配置组件后安装流程。当删选出需要后安装的组件之后,将这些后安装组件的信息发送至相应的后安装组件安装系统,进行软件安装之后的后安装。
图4是以移动客户端针对不同渠道做推广为例,根据本发明实施例的安装包打包的方法的具体流程的示意图。以下结合图3和图4对本发明实施例的安装包打包的方法进行详细介绍。
本发明实施例提供一种基于可配置化功能生成不同包大小的安装包打包方法,通常通过以下流程实现:
1)通过解压原始安装包得到可配置化组件列表;
2)通过CMS针对某渠道,进行组件列表的增删改查;
3)保存某维度(例如特定渠道)最终配置好的组件信息;
4)通过配置的组件信息对原始安装包中相应的组件进行删除,然后重新打出新安装包;
5)通知组件后台,对该维度(例如特定渠道)中删除的组件进行后装。
从以上步骤可以看出,本发明实施例的关键点在于是无需重新编译的方式生成不同包大小的安装包。
具体流程如下:
以移动客户端针对不同渠道做推广为例,针对大多数安卓客户端而言,目前客户端原始安装包中可以通过后安装方式运行的功能主要可以分为两种类型,一种是基于安卓平台,采用各种技术,如淘宝的Atlas技术、京东的Aura技术,开发的可配置化组件,以下简称“安卓组件”,一种是基于React Native技术开发的组件,例如京东的JDReact组件,以下简称“React Native组件”,因此客户端原始安装包中可配置部分就是安卓组件和ReactNative组件;相应的,安装包管理系统就是配置安卓后安装组件和React Native后安装组件的系统。
本发明实施例中,可配置化组件列表可以通过客户端原始安装包APK(APK是AndroidPackage的缩写,即安卓客户端安装包)的解包/打包服务获取。通过对原始安装包APK的解包,获取原始安装包APK中所有的组件,可配置的安卓组件列表和React Native组件列表信息就可以获取。
获取到可配置化组件信息指后,通过安装包管理系统的可视化前台CMS对某个渠道的组件信息进行增、删、改、查工作,得到最终需要在该渠道中后安装的组件下发到后安装组件管理后台,以便进行该渠道中对应组件的后安装操作。
然后获取原始安装包APK中所有组件信息,通过CMS对某个渠道进行配置后安装的可配置化组件之后,根据渠道的配置信息对比原始安装包APK中的所有组件信息,得到需要要从原始安装包APK中删除的组件。把这些组件删除后,把渠道的配置信息写入渠道安装包APK中,再通过打包服务重新打包,就生成了针对该渠道的渠道安装包APK。
前述提到的删除的组件在客户端运行时需要通过后安装方式来加载,因此重新打包渠道安装包APK后要通知后安装组件的后台管理系统对该渠道删除的组件配置后安装。
此外,本发明实施例的安装包打包的方法的技术方案中还可以包括:在生成新安装包,即渠道安装包,并打包之后,对新安装包进行自动化测试;并且,还可以包括在对从原始安装包中删除的组件进行后安装之后,对后安装的组件进行自动化测试。
以上流程参阅图4。
根据本发明实施例的安装包打包的方法的技术方案可以看出,因为采用根据特定维度配置需求,对原始安装包中的可配置化组件进行修改配置的技术手段,所以克服了不同维度安装包一致,且包大小一致的技术问题,进而达到不需要编译而只是通过重新打包的方式高效实现不同大小的包,便于运营人员进行营销推广,提高软件安装包的点击、下载、安装等转化效率的技术效果;通过在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装,从而能够保证软件运行时不影响其可配置化功能的使用;本发明实施例中,可配置组件可以包括安卓组件和/或React Native组件,从而能够针对众多安卓客户端,根据不同维度的配置需求,配置安装包大小;通过CMS对可配置组件进行增、删、改、查中的至少一种操作,从而能够根据特定维度配置需求灵活配置安装包的大小;通过在生成新安装包并打包之后,对新安装包进行自动化测试,和/或在对从原始安装包中删除的组件进行后安装之后,对后安装的组件进行自动化测试,从而能够保证重新打包配置以及完成后安装的软件能够有效运行。
图5是根据本发明实施例的安装包打包的装置的主要模块的示意图。
如图5所示,本发明实施例的一种安装包打包的装置500包括:解包模块501、配置模块502和打包模块503。
其中,解包模块501用于解包软件的原始安装包,获取所述原始安装包中包含的所有组件信息;配置模块502用于根据特定维度配置需求,对所述所有组件信息中的可配置组件进行配置,并保存配置后的组件信息;打包模块503用于对比所述配置后的组件信息和所述所有组件信息,将所述配置后的组件信息中不包含而所述所有组件信息中包含的组件从所述原始安装包中删除,生成新安装包并打包。
装置500还可包括:后安装模块(图中未示出),用于在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装。
本发明实施例中,可配置组件可以包括安卓组件和/或React Native组件。
此外,配置模块502还可用于:通过CMS对可配置组件进行增、删、改、查中的至少一种操作。
需要说明的是,装置500还可包括:自动化测试模块(图中未示出),用于在生成新安装包并打包之后,对所述新安装包进行自动化测试;和/或在对从原始安装包中删除的组件进行后安装之后,对所述后安装的组件进行自动化测试。
从以上描述可以看出,因为采用根据特定维度配置需求,对原始安装包中的可配置化组件进行修改配置的技术手段,所以克服了不同维度安装包一致,且包大小一致的技术问题,进而达到不需要编译而只是通过重新打包的方式高效实现不同大小的包,便于运营人员进行营销推广,提高软件安装包的点击、下载、安装等转化效率的技术效果;通过在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装,从而能够保证软件运行时不影响其可配置化功能的使用;本发明实施例中,可配置组件可以包括安卓组件和/或React Native组件,从而能够针对众多安卓客户端,根据不同维度的配置需求,配置安装包大小;通过CMS对可配置组件进行增、删、改、查中的至少一种操作,从而能够根据特定维度配置需求灵活配置安装包的大小;通过在生成新安装包并打包之后,对新安装包进行自动化测试,和/或在对从原始安装包中删除的组件进行后安装之后,对后安装的组件进行自动化测试,从而能够保证重新打包配置以及完成后安装的软件能够有效运行。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括解包模块、配置模块和打包模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,解包模块还可以被描述为“用于解包客户端的原始安装包的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:解包软件的原始安装包,获取所述原始安装包中包含的所有组件信息;根据特定维度配置需求,对所述所有组件信息中的可配置组件进行配置,并保存配置后的组件信息;对比所述配置后的组件信息和所述所有组件信息,将所述配置后的组件信息中不包含而所述所有组件信息中包含的组件从所述原始安装包中删除,生成新安装包并打包。
根据本发明实施例的技术方案,因为采用根据特定维度配置需求,对原始安装包中的可配置化组件进行修改配置的技术手段,所以克服了不同维度安装包一致,且包大小一致的技术问题,进而达到不需要编译而只是通过重新打包的方式高效实现不同大小的包,便于运营人员进行营销推广,提高软件安装包的点击、下载、安装等转化效率的技术效果;通过在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装,从而能够保证软件运行时不影响其可配置化功能的使用;本发明实施例中,可配置组件可以包括安卓组件和/或React Native组件,从而能够针对众多安卓客户端,根据不同维度的配置需求,配置安装包大小;通过CMS对可配置组件进行增、删、改、查中的至少一种操作,从而能够根据特定维度配置需求灵活配置安装包的大小;通过在生成新安装包并打包之后,对新安装包进行自动化测试,和/或在对从原始安装包中删除的组件进行后安装之后,对后安装的组件进行自动化测试,从而能够保证重新打包配置以及完成后安装的软件能够有效运行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种安装包打包的方法,其特征在于,包括:
解包软件的原始安装包,获取所述原始安装包中包含的所有组件信息;
根据特定维度配置需求,对所述所有组件信息中的可配置组件进行配置,并保存配置后的组件信息;所述特定维度配置需求是指各种具有不同包大小的需求;
对比所述配置后的组件信息和所述所有组件信息,将所述配置后的组件信息中不包含而所述所有组件信息中包含的组件从所述原始安装包中删除,生成新安装包并打包;
在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装。
2.根据权利要求1所述的方法,其特征在于,所述可配置组件包括安卓组件和/或ReactNative组件。
3.根据权利要求1所述的方法,其特征在于,对所述所有组件信息中的可配置组件进行配置包括:通过CMS对可配置组件进行增、删、改、查中的至少一种操作。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在生成新安装包并打包之后,对所述新安装包进行自动化测试;和/或
在对从原始安装包中删除的组件进行后安装之后,对所述后安装的组件进行自动化测试。
5.一种安装包打包的装置,其特征在于,包括:
解包模块,用于解包软件的原始安装包,获取所述原始安装包中包含的所有组件信息;
配置模块,用于根据特定维度配置需求,对所述所有组件信息中的可配置组件进行配置,并保存配置后的组件信息;所述特定维度配置需求是指各种具有不同包大小的需求;
打包模块,用于对比所述配置后的组件信息和所述所有组件信息,将所述配置后的组件信息中不包含而所述所有组件信息中包含的组件从所述原始安装包中删除,生成新安装包并打包;
所述装置还包括:后安装模块,用于在根据打包后的新安装包安装软件之后,对从原始安装包中删除的组件进行后安装。
6.根据权利要求5所述的装置,其特征在于,所述可配置组件包括安卓组件和/或ReactNative组件。
7.根据权利要求5所述的装置,其特征在于,所述配置模块还用于:通过CMS对可配置组件进行增、删、改、查中的至少一种操作。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
自动化测试模块,用于在生成新安装包并打包之后,对所述新安装包进行自动化测试;和/或
在对从原始安装包中删除的组件进行后安装之后,对所述后安装的组件进行自动化测试。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN201710821238.4A 2017-09-13 2017-09-13 安装包打包的方法、装置、电子设备和计算机可读介质 Active CN107678755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710821238.4A CN107678755B (zh) 2017-09-13 2017-09-13 安装包打包的方法、装置、电子设备和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710821238.4A CN107678755B (zh) 2017-09-13 2017-09-13 安装包打包的方法、装置、电子设备和计算机可读介质

Publications (2)

Publication Number Publication Date
CN107678755A CN107678755A (zh) 2018-02-09
CN107678755B true CN107678755B (zh) 2021-01-26

Family

ID=61135103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710821238.4A Active CN107678755B (zh) 2017-09-13 2017-09-13 安装包打包的方法、装置、电子设备和计算机可读介质

Country Status (1)

Country Link
CN (1) CN107678755B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032617B (zh) * 2018-06-21 2022-03-29 上海二三四五网络科技有限公司 一种自动删除安装包的控制方法及控制装置
CN109101240A (zh) * 2018-06-25 2018-12-28 北京小米移动软件有限公司 打包方法、装置和存储介质
CN112965744A (zh) * 2021-03-16 2021-06-15 江苏斑马软件技术有限公司 一种rn混合式app的批量打包方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901160A (zh) * 2010-08-11 2010-12-01 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
CN102314364A (zh) * 2011-08-08 2012-01-11 北京登合科技有限公司 一种自动适配移动终端的方法
CN104991793A (zh) * 2015-06-15 2015-10-21 上海海漾软件技术有限公司 一种用于应用程序分包的方法、装置以及系统
CN105095090A (zh) * 2015-09-16 2015-11-25 北京奇虎科技有限公司 应用安装包的测试方法及装置
CN105446775A (zh) * 2015-11-20 2016-03-30 北京奇虎科技有限公司 游戏安装包的配置化生成方法及装置
CN106133741A (zh) * 2014-02-12 2016-11-16 赛门铁克公司 用于响应于检测可疑行为来扫描打包程序的系统和方法
CN106201522A (zh) * 2016-07-12 2016-12-07 杭州华三通信技术有限公司 一种打包方法及装置
CN106293820A (zh) * 2016-08-02 2017-01-04 山东大学 开发测试运维一体化系统、部署、全量以及增量更新方法
CN107066291A (zh) * 2017-02-09 2017-08-18 阿里巴巴集团控股有限公司 软件开发工具包的打包方法、装置及设备、可读介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252364B (zh) * 2013-06-25 2017-09-12 腾讯科技(深圳)有限公司 增量更新的方法、设备及系统
CN105893008A (zh) * 2015-11-16 2016-08-24 乐视网信息技术(北京)股份有限公司 一种定制多渠道安装包的方法及装置
CN106126205A (zh) * 2016-06-14 2016-11-16 武汉斗鱼网络科技有限公司 一种安卓程序安装包的快速批量生成方法及系统
US9621853B1 (en) * 2016-06-28 2017-04-11 At&T Intellectual Property I, L.P. Service orchestration to support a cloud-based, multi-party video conferencing service in a virtual overlay network environment
CN106502715A (zh) * 2016-09-19 2017-03-15 乐视控股(北京)有限公司 一种应用程序多渠道配置方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901160A (zh) * 2010-08-11 2010-12-01 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
CN102314364A (zh) * 2011-08-08 2012-01-11 北京登合科技有限公司 一种自动适配移动终端的方法
CN106133741A (zh) * 2014-02-12 2016-11-16 赛门铁克公司 用于响应于检测可疑行为来扫描打包程序的系统和方法
CN104991793A (zh) * 2015-06-15 2015-10-21 上海海漾软件技术有限公司 一种用于应用程序分包的方法、装置以及系统
CN105095090A (zh) * 2015-09-16 2015-11-25 北京奇虎科技有限公司 应用安装包的测试方法及装置
CN105446775A (zh) * 2015-11-20 2016-03-30 北京奇虎科技有限公司 游戏安装包的配置化生成方法及装置
CN106201522A (zh) * 2016-07-12 2016-12-07 杭州华三通信技术有限公司 一种打包方法及装置
CN106293820A (zh) * 2016-08-02 2017-01-04 山东大学 开发测试运维一体化系统、部署、全量以及增量更新方法
CN107066291A (zh) * 2017-02-09 2017-08-18 阿里巴巴集团控股有限公司 软件开发工具包的打包方法、装置及设备、可读介质

Also Published As

Publication number Publication date
CN107678755A (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
CN110389762B (zh) 在Android工程中处理AAR包的方法和装置
CN107678755B (zh) 安装包打包的方法、装置、电子设备和计算机可读介质
CN112965761B (zh) 一种数据处理方法、系统、电子设备及存储介质
CN110753020A (zh) 网络请求处理方法和装置
CN110928571A (zh) 业务程序开发方法和装置
CN110795315A (zh) 监控业务的方法和装置
CN110968340A (zh) 一种实现多版本依赖隔离的方法和装置
CN113010405A (zh) 一种应用程序的测试方法和装置
CN113312032A (zh) 前端项目资源更新方法、装置、电子设备及存储介质
CN115617420A (zh) 应用程序的生成方法、装置、设备以及存储介质
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN113296828A (zh) 一种发布应用的方法、服务器和系统
CN112559024A (zh) 一种生成交易码变更列表的方法和装置
CN112596854A (zh) 一种持续集成流水线运行的方法和装置
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
CN112084254A (zh) 一种数据同步方法和系统
CN113138768B (zh) 应用程序包生成方法、装置、电子设备以及可读存储介质
CN115129425A (zh) 一种复制镜像的方法和装置
CN112835609B (zh) 一种修改依赖包下载地址的方法和装置
CN111142972B (zh) 用于扩展应用程序的功能的方法、装置、系统及介质
CN111984616A (zh) 一种更新共享文件的方法、装置和系统
CN112099841A (zh) 一种生成配置文件的方法和系统
CN112783903A (zh) 生成更新日志的方法和装置
CN111447298A (zh) 应用程序中的网络地址的获取方法、装置、设备及介质
CN113535270B (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