CN109324806A - 一种客户端安装包管理方法 - Google Patents
一种客户端安装包管理方法 Download PDFInfo
- Publication number
- CN109324806A CN109324806A CN201811123497.0A CN201811123497A CN109324806A CN 109324806 A CN109324806 A CN 109324806A CN 201811123497 A CN201811123497 A CN 201811123497A CN 109324806 A CN109324806 A CN 109324806A
- Authority
- CN
- China
- Prior art keywords
- installation kit
- installation
- ipa
- client
- apk
- 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
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种客户端安装包管理方法。本发明的针对的目的旨在方便测试人员在集成测试过程中,快速安装研发人员上传的每一个客户端安装包,并且实现各种测试环境的任意安装包安装到移动设备后,均能在移动设备上升级至该环境的最新包。由于安卓客户端和苹果客户端各自安装协议和版本升级协议不同,将针对安卓客户端和苹果客户端加以说明。本发明使企业内部人员能够快速便捷的安装任意一个安装包,同时每个安装包均具备和生产环境一致的版本升级功能,提高了工作效率。
Description
技术领域
本发明涉及计算机应用技术,尤其是一种客户端安装包管理方法。
背景技术
随着移动应用的普及,越来越多的产品开始针对移动设备开发应用。在软件集成测试阶段通常会有多种不同的测试环境,每种环境都将会产生大量的安装包,这些安装包如果不加以系统的管理,在测试过程中获取和安装应用将会比较麻烦。
移动应用在更新到生成环境中后,通常还会进行频繁的产品迭代,用户安装在移动设备上的客户端版本也将会是不同的。通常可能会收到用户反馈某个版本的客户端在使用中产生一些问题,开发和测试人员需要快速获取对应版本的客户端进行分析测试,而生产环境只有最新版本的客户端,因此需要一个系统能够快速获取各种版本的客户端。
经过版本迭代后,用户还可能遇到一个问题:当前使用的某个特定老版本客户端,升级到最新版本后出现异常情况。开发和测试人员需要快速验证问题,并在修复问题后,在集成测试环境验证此版本升级的过程,因此需要一个系统能支持在各种环境下模拟版本升级的功能。
发明内容
本发明的目的是针对现有技术的不足,提供一种客户端安装包管理方法。由于安卓客户端和苹果客户端各自安装协议和版本升级协议不同,将针对安卓客户端和苹果客户端加以说明。
苹果客户端
苹果客户端在集成测试阶段采用企业版证书打包,研发人员选择对应的测试环境,上传iOS客户端安装包:ipa安装包。
针对ipa安装包的处理步骤为:
步骤一、服务端根据现有iOS技术规范生成ipa安装包的安装协议文件模板,安装协议文件模板包含包名参数和ipa安装包下载地址参数。
步骤二、服务端生成ipa安装包升级协议文件模板,升级协议文件模板包含最新版本号参数。
步骤三、保存ipa安装包至服务器,获得ipa安装包下载地址和ipa安装包保存时间,并读取ipa安装包的文件流,提取文件流中info.plist文件,获取info.plist文件中的版本号CFBundleShortVersionString、包名CFBundleIdentifier信息。
步骤四、根据步骤一的安装协议文件模板,使用步骤三获取的包名CFBundleIdentifier和ipa安装包下载地址,替换安装协议文件模板中的包名参数和ipa安装包下载地址参数,为该ipa安装包单独生成一份安装协议文件,并将该安装协议文件保存至服务器,获得安装协议文件https访问地址。
步骤五、根据步骤二的升级协议文件模板,使用步骤三获取的版本号CFBundleShortVersionString替换升级协议文件模板的最新版本号参数,获得该安装包所在测试环境对应的升级协议文件,并将升级协议文件保存至服务器。
步骤六、根据苹果企业版客户端现有的安装协议规范,生成ipa安装包的安装地址:itms-services://?action=download-manifest&url=URL,将安装地址中的URL替换为步骤四生成的安装协议文件https访问地址。
步骤七、服务器保存该ipa安装包的基础信息到安装包信息表,安装包信息表主要记录:当前测试环境的类型、步骤三获取的版本号CFBundleShortVersionString和包名CFBundleIdentifier以及ipa安装包保存时间、步骤六生成的ipa安装包的安装地址。
步骤八、将步骤六生成的ipa安装包的安装地址填充至安装页面,并将安装页面的url地址生成二维码图片,测试人员扫描二维码即可安装ipa安装包。安装应用后,每次启动客户端应用时,客户端应用均访问服务器中由步骤五生成的升级协议文件,并比对升级协议文件中的版本号和客户端本地版本号,若客户端本地版本号小于服务器中升级协议文件的版本号则提示用户升级。用户点击升级,服务器查询步骤七中的安装包信息表,根据版本号CFBundleShortVersionString和ipa安装包保存时间,获取用户安装客户端所对应的测试环境中最新版本的ipa安装包的安装地址,访问该安装地址安装最新版本的ipa安装包实现版本升级。
安卓客户端
本发明针对apk安装包的处理步骤为:
步骤一、系统生成升级协议文件模板,升级协议文件模板包含最新版本号参数、最新apk安装包下载地址参数。
步骤二、保存apk安装包至服务器,获得apk安装包下载地址,并读取apk安装包的文件流,提取AndroidManifest.xml文件,从中获取apk版本号。
步骤三、将步骤一的升级协议文件模板中的最新版本号参数替换为步骤二得到的apk版本号,将升级协议文件模板中最新apk安装包下载地址参数替换为步骤二得到的apk安装包下载地址,从而得到升级协议文件,并将该升级协议文件文件保存至服务器。
步骤四、将步骤二获得的apk安装包下载地址生成二维码图片,测试人员扫描二维码即可安装apk安装包。安装apk安装包后,每次启动客户端应用将会访问步骤三生成的升级协议文件,并比对升级协议文件中的版本号和客户端本地版本号,若客户端本地版本号小于服务器中升级协议文件的版本号则提示用户升级,点击升级将访问升级协议文件中的最新apk安装包下载地址来安装最新版本的apk安装包,实现版本升级。
本发明有益效果如下:
本发明提供了一种客户端安装包管理方法,使企业内部人员能够快速便捷的安装任意一个安装包,同时每个安装包均具备和生产环境一致的版本升级功能,提高了工作效率。
具体实施方式
下面结合实施例对本发明作进一步说明。
本发明针对的目的旨在方便测试人员在集成测试过程中,快速安装研发人员上传的每一个客户端安装包,并且实现各种测试环境的任意安装包安装到移动设备后,均能在移动设备上升级至该环境的最新包。
由于安卓客户端和苹果客户端各自安装协议和版本升级协议不同,将针对安卓客户端和苹果客户端加以说明。
苹果客户端
苹果客户端在集成测试阶段采用企业版证书打包,研发人员选择对应的测试环境,上传iOS客户端安装包:ipa安装包。
针对ipa安装包的处理步骤为:
步骤一、服务端根据现有iOS技术规范生成ipa安装包的安装协议文件模板,安装协议文件模板包含包名参数和ipa安装包下载地址参数。
步骤二、服务端生成ipa安装包升级协议文件模板,升级协议文件模板包含最新版本号参数。
步骤三、保存ipa安装包至服务器,获得ipa安装包下载地址和ipa安装包保存时间,并读取ipa安装包的文件流,提取文件流中info.plist文件,获取info.plist文件中的版本号CFBundleShortVersionString、包名CFBundleIdentifier信息。
步骤四、根据步骤一的安装协议文件模板,使用步骤三获取的包名CFBundleIdentifier和ipa安装包下载地址,替换安装协议文件模板中的包名参数和ipa安装包下载地址参数,为该ipa安装包单独生成一份安装协议文件,并将该安装协议文件保存至服务器,获得安装协议文件https访问地址。
步骤五、根据步骤二的升级协议文件模板,使用步骤三获取的版本号CFBundleShortVersionString替换升级协议文件模板的最新版本号参数,获得该安装包所在测试环境对应的升级协议文件,并将升级协议文件保存至服务器。
步骤六、根据苹果企业版客户端现有的安装协议规范,生成ipa安装包的安装地址:itms-services://?action=download-manifest&url=URL,将安装地址中的URL替换为步骤四生成的安装协议文件https访问地址。
步骤七、服务器保存该ipa安装包的基础信息到安装包信息表,安装包信息表主要记录:当前测试环境的类型、步骤三获取的版本号CFBundleShortVersionString和包名CFBundleIdentifier以及ipa安装包保存时间、步骤六生成的ipa安装包的安装地址。
步骤八、将步骤六生成的ipa安装包的安装地址填充至安装页面,并将安装页面的url地址生成二维码图片,测试人员扫描二维码即可安装ipa安装包。安装应用后,每次启动客户端应用时,客户端应用均访问服务器中由步骤五生成的升级协议文件,并比对升级协议文件中的版本号和客户端本地版本号,若客户端本地版本号小于服务器中升级协议文件的版本号则提示用户升级。用户点击升级,服务器查询步骤七中的安装包信息表,根据版本号CFBundleShortVersionString和ipa安装包保存时间,获取用户安装客户端所对应的测试环境中最新版本的ipa安装包的安装地址,访问该安装地址安装最新版本的ipa安装包实现版本升级。
安卓客户端
本发明针对apk安装包的处理步骤为:
步骤一、系统生成升级协议文件模板,升级协议文件模板包含最新版本号参数、最新apk安装包下载地址参数。
步骤二、保存apk安装包至服务器,获得apk安装包下载地址,并读取apk安装包的文件流,提取AndroidManifest.xml文件,从中获取apk版本号。
步骤三、将步骤一的升级协议文件模板中的最新版本号参数替换为步骤二得到的apk版本号,将升级协议文件模板中最新apk安装包下载地址参数替换为步骤二得到的apk安装包下载地址,从而得到升级协议文件,并将该升级协议文件文件保存至服务器。
步骤四、将步骤二获得的apk安装包下载地址生成二维码图片,测试人员扫描二维码即可安装apk安装包。安装apk安装包后,每次启动客户端应用将会访问步骤三生成的升级协议文件,并比对升级协议文件中的版本号和客户端本地版本号,若客户端本地版本号小于服务器中升级协议文件的版本号则提示用户升级,点击升级将访问升级协议文件中的最新apk安装包下载地址来安装最新版本的apk安装包,实现版本升级。
Claims (1)
1.一种客户端安装包管理方法,其特征在于实现各种测试环境的任意安装包安装到移动设备后,均能在移动设备上升级至该环境的最新包,由于安卓客户端和苹果客户端各自安装协议和版本升级协议不同,将针对安卓客户端和苹果客户端进行具体说明,具体实现如下:
苹果客户端
苹果客户端在集成测试阶段采用企业版证书打包,研发人员选择对应的测试环境,上传iOS客户端安装包:ipa安装包;
针对ipa安装包的处理步骤为:
步骤一、服务端根据现有iOS技术规范生成ipa安装包的安装协议文件模板,安装协议文件模板包含包名参数和ipa安装包下载地址参数;
步骤二、服务端生成ipa安装包升级协议文件模板,升级协议文件模板包含最新版本号参数;
步骤三、保存ipa安装包至服务器,获得ipa安装包下载地址和ipa安装包保存时间,并读取ipa安装包的文件流,提取文件流中info.plist文件,获取info.plist文件中的版本号CFBundleShortVersionString、包名CFBundleIdentifier信息;
步骤四、根据步骤一的安装协议文件模板,使用步骤三获取的包名CFBundleIdentifier和ipa安装包下载地址,替换安装协议文件模板中的包名参数和ipa安装包下载地址参数,为该ipa安装包单独生成一份安装协议文件,并将该安装协议文件保存至服务器,获得安装协议文件https访问地址;
步骤五、根据步骤二的升级协议文件模板,使用步骤三获取的版本号CFBundleShortVersionString替换升级协议文件模板的最新版本号参数,获得该安装包所在测试环境对应的升级协议文件,并将升级协议文件保存至服务器;
步骤六、根据苹果企业版客户端现有的安装协议规范,生成ipa安装包的安装地址:itms-services://?action=download-manifest&url=URL,将安装地址中的URL替换为步骤四生成的安装协议文件https访问地址;
步骤七、服务器保存该ipa安装包的基础信息到安装包信息表,安装包信息表主要记录:当前测试环境的类型、步骤三获取的版本号CFBundleShortVersionString和包名CFBundleIdentifier以及ipa安装包保存时间、步骤六生成的ipa安装包的安装地址;
步骤八、将步骤六生成的ipa安装包的安装地址填充至安装页面,并将安装页面的url地址生成二维码图片,测试人员扫描二维码即可安装ipa安装包;安装应用后,每次启动客户端应用时,客户端应用均访问服务器中由步骤五生成的升级协议文件,并比对升级协议文件中的版本号和客户端本地版本号,若客户端本地版本号小于服务器中升级协议文件的版本号则提示用户升级;用户点击升级,服务器查询步骤七中的安装包信息表,根据版本号CFBundleShortVersionString和ipa安装包保存时间,获取用户安装客户端所对应的测试环境中最新版本的ipa安装包的安装地址,访问该安装地址安装最新版本的ipa安装包实现版本升级;
安卓客户端
针对apk安装包的处理步骤为:
步骤1、系统生成升级协议文件模板,升级协议文件模板包含最新版本号参数、最新apk安装包下载地址参数;
步骤2、保存apk安装包至服务器,获得apk安装包下载地址,并读取apk安装包的文件流,提取AndroidManifest.xml文件,从中获取apk版本号;
步骤3、将步骤1的升级协议文件模板中的最新版本号参数替换为步骤2得到的apk版本号,将升级协议文件模板中最新apk安装包下载地址参数替换为步骤2得到的apk安装包下载地址,从而得到升级协议文件,并将该升级协议文件文件保存至服务器;
步骤4、将步骤2获得的apk安装包下载地址生成二维码图片,测试人员扫描二维码即可安装apk安装包;安装apk安装包后,每次启动客户端应用将会访问步骤3生成的升级协议文件,并比对升级协议文件中的版本号和客户端本地版本号,若客户端本地版本号小于服务器中升级协议文件的版本号则提示用户升级,点击升级将访问升级协议文件中的最新apk安装包下载地址来安装最新版本的apk安装包,实现版本升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811123497.0A CN109324806A (zh) | 2018-09-26 | 2018-09-26 | 一种客户端安装包管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811123497.0A CN109324806A (zh) | 2018-09-26 | 2018-09-26 | 一种客户端安装包管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109324806A true CN109324806A (zh) | 2019-02-12 |
Family
ID=65266379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811123497.0A Pending CN109324806A (zh) | 2018-09-26 | 2018-09-26 | 一种客户端安装包管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109324806A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142930A (zh) * | 2019-12-30 | 2020-05-12 | 瑞庭网络技术(上海)有限公司 | 安装包文件打包方法、装置、终端设备及存储介质 |
CN111258622A (zh) * | 2020-01-13 | 2020-06-09 | 奇安信科技集团股份有限公司 | App新增功能的控制方法及装置 |
CN113157285A (zh) * | 2021-04-15 | 2021-07-23 | 武汉斗鱼鱼乐网络科技有限公司 | 一种程序文件包安装方法、存储介质、电子设备及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289382A (zh) * | 2011-08-30 | 2011-12-21 | 青岛海信电器股份有限公司 | 电视软件更新方法、装置及系统 |
CN105099780A (zh) * | 2015-08-12 | 2015-11-25 | 北京思特奇信息技术股份有限公司 | 一种文件的自动发布或升级的方法及其系统 |
CN108287694A (zh) * | 2017-08-08 | 2018-07-17 | 深圳壹账通智能科技有限公司 | 应用程序构建方法、系统、计算机设备和存储介质 |
-
2018
- 2018-09-26 CN CN201811123497.0A patent/CN109324806A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289382A (zh) * | 2011-08-30 | 2011-12-21 | 青岛海信电器股份有限公司 | 电视软件更新方法、装置及系统 |
CN105099780A (zh) * | 2015-08-12 | 2015-11-25 | 北京思特奇信息技术股份有限公司 | 一种文件的自动发布或升级的方法及其系统 |
CN108287694A (zh) * | 2017-08-08 | 2018-07-17 | 深圳壹账通智能科技有限公司 | 应用程序构建方法、系统、计算机设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142930A (zh) * | 2019-12-30 | 2020-05-12 | 瑞庭网络技术(上海)有限公司 | 安装包文件打包方法、装置、终端设备及存储介质 |
CN111258622A (zh) * | 2020-01-13 | 2020-06-09 | 奇安信科技集团股份有限公司 | App新增功能的控制方法及装置 |
CN111258622B (zh) * | 2020-01-13 | 2023-09-01 | 奇安信科技集团股份有限公司 | App新增功能的控制方法及装置 |
CN113157285A (zh) * | 2021-04-15 | 2021-07-23 | 武汉斗鱼鱼乐网络科技有限公司 | 一种程序文件包安装方法、存储介质、电子设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11227221B2 (en) | Framework management method and apparatus | |
CN109324806A (zh) | 一种客户端安装包管理方法 | |
US8782604B2 (en) | Sandbox support for metadata in running applications | |
CN109117169B (zh) | 用于修复内核漏洞的方法和装置 | |
US20130167139A1 (en) | Method and system for distributed application stack test certification | |
CN107896244B (zh) | 一种版本文件的分发方法、客户端及服务器 | |
US9417865B2 (en) | Determining when to update a package manager software | |
US11048492B2 (en) | Reducing downtime while patching binaries on a cluster | |
WO2013015942A1 (en) | Method and system for distributed application stack deployment | |
CN102799515A (zh) | 应用程序测试方法及装置 | |
US10564961B1 (en) | Artifact report for cloud-based or on-premises environment/system infrastructure | |
CN104102527A (zh) | 一种虚拟机软件更新方法 | |
US9032386B1 (en) | Product upgrade location identifier for software upgrade | |
CN110781083B (zh) | 一种h5客户端代码设置多环境测试方法和系统 | |
CN108255708B (zh) | 测试环境中访问生产文件的方法、装置、存储介质及设备 | |
CN104021056A (zh) | 一种基于drbl工具的无盘自动化测试方法 | |
US9116967B2 (en) | Methods and apparatus to interface an application to a database | |
CN106339273A (zh) | 一种应用程序修复方法、终端及服务器 | |
CN105095207A (zh) | 检索、获取应用软件内容的方法和装置 | |
CN103246997B (zh) | 应用商店渠道标识的传输方法及系统 | |
CN103823694A (zh) | 一种脚本文件的更新方法及装置 | |
US10732948B2 (en) | System and method for implementing automated deployment | |
CN105812345A (zh) | 一种实现网页到客户端通信的方法及装置 | |
CN104182344B (zh) | 一种覆盖安装测试方法及装置 | |
US8615751B2 (en) | Seeding product information |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190212 |