CN106933609B - Android应用程序安装包的生成方法及装置 - Google Patents
Android应用程序安装包的生成方法及装置 Download PDFInfo
- Publication number
- CN106933609B CN106933609B CN201511019024.2A CN201511019024A CN106933609B CN 106933609 B CN106933609 B CN 106933609B CN 201511019024 A CN201511019024 A CN 201511019024A CN 106933609 B CN106933609 B CN 106933609B
- Authority
- CN
- China
- Prior art keywords
- android application
- application program
- installation package
- module
- code
- 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
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了一种Android应用程序安装包的生成方法及装置,该方法包括:步骤1,通过可视化入口接收对于Android应用程序安装包的配置数据;步骤2,基于所述配置数据替换掉Android应用程序代码中的相应参数;步骤3,通过执行打包命令进行打包,以生成Android应用程序安装包。本发明提供可视化入口来接收对于Android应用程序安装包的配置数据,极大的方便了测试人员等非研发人员在打包过程中的操作。本发明进一步的可以使用脚本来配置参数以实现打包,无需经过开发人员修改代码,在提高打包效率的同时也稳定了代码分支,不会对代码造成影响。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种Android应用程序安装包的生成方法及装置。
背景技术
在Android系统的应用程序APK(Android Package,Android安装包)开发过程以及发布过程中,都会需要生成安装包即打包,并且十分频繁。而且根据实际开发和测试的要求,每次需要的配置参数都有不同,需要生成相对应的安装包来满足开发和测试人员的需求,这是一个十分繁琐的工作,严重影响了开发的效率并且极容易出错。
现有技术中,研发人员需要根据测试及发布需求,预先确定好应用程序中的服务器地址,替换相对应环境的测试资源或者发布资源,每次打包时都要重新修改相应的配置参数,然后由IDE(Integrated Development Environment,集成开发环境)中自带的打包插件完成打包,然后进行相关的测试或者产品发布,上述过程中所有打包相关的配置都要由开发人员在代码中进行修改,测试人员无法自行操作,无论是开发和测试都来了很大的不便。
发明内容
本发明要解决的技术问题是,提供一种Android应用程序安装包的生成方法及装置,提高打包效率的同时也稳定了代码分支。
本发明采用的技术方案是,所述Android应用程序安装包的生成方法,包括:
步骤1,通过可视化入口接收对于Android应用程序安装包的配置数据;
步骤2,基于所述配置数据替换掉Android应用程序代码中的相应参数;
步骤3,通过执行打包命令进行打包,以生成Android应用程序安装包。
进一步的,对于Android应用程序安装包的配置数据,包括:配置参数和接口环境资源;
所述配置参数,包括:接口环境资源选项、自动化测试开关、缓存开关、渠道号和Android应用程序安装包名称;所述接口环境资源选项,包括:测试环境、开发环境、发布环境、预上线环境。
进一步的,由Android应用程序代码中gradle脚本模块执行步骤1~3;或者,
ant脚本模块执行所述步骤1~2之后,调用Android应用程序代码中gradle脚本模块执行步骤3。
进一步的,所述方法,还包括:在gradle脚本模块执行操作之前,用规范的gradle脚本模块替换掉Android应用程序代码中的gradle脚本模块。
进一步的,所述步骤3,还包括:
对生成的Android应用程序安装包进行签名及代码优化。
本发明还提供一种Android应用程序安装包的生成装置,包括:
数据接收模块,用于通过可视化入口接收对于Android应用程序安装包的配置数据;
参数替换模块,用于所述配置数据替换掉Android应用程序代码中的相应参数;
程序打包模块,用于通过执行打包命令进行打包,以生成Android应用程序安装包。
进一步的,对于Android应用程序安装包的配置数据,包括:配置参数和接口环境资源;
所述配置参数,包括:接口环境资源选项、自动化测试开关、缓存开关、渠道号和Android应用程序安装包名称;所述接口环境资源选项,包括:测试环境、开发环境、发布环境、预上线环境。
进一步的,所述装置中的各模块均设置于Android应用程序代码中gradle脚本模块中进行执行;或者,
所述数据接收模块和所述参数替换模块设置于ant脚本模块进行执行,所述程序打包模块设置于Android应用程序代码中gradle脚本模块中进行执行。
进一步的,所述装置,还包括:
gradle脚本替换模块,用于在gradle脚本模块执行操作之前,用规范的gradle脚本模块替换掉Android应用程序代码中的gradle脚本模块。
进一步的,所述程序打包模块,还用于:
对生成的Android应用程序安装包进行签名及代码优化。
采用上述技术方案,本发明至少具有下列优点:
本发明所述Android应用程序安装包的生成方法及装置,提供可视化入口来接收对于Android应用程序安装包的配置数据,极大的方便了测试人员等非研发人员在打包过程中的操作。本发明进一步的可以使用脚本来配置参数以实现打包,无需经过开发人员修改代码,在提高打包效率的同时也稳定了代码分支,不会对代码造成影响。
附图说明
图1为本发明第一实施例的Android应用程序安装包的生成方法流程图;
图2为本发明第四实施例的Android应用程序安装包的生成装置组成结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明第一实施例,一种Android应用程序安装包的生成方法,如图1所示,包括以下具体步骤:
步骤S101,通过可视化入口接收对于Android应用程序安装包的配置数据;
具体的,在步骤S101中,对于Android应用程序安装包的配置数据,包括:配置参数和接口环境资源;
所述配置参数,包括:接口环境资源选项、自动化测试开关、缓存开关、渠道号和Android应用程序安装包名称;所述接口环境资源选项,包括:测试环境、开发环境、发布环境、预上线环境。
步骤S102,基于所述配置数据替换掉Android应用程序代码中的相应参数;
步骤S103,通过执行打包命令进行打包,以生成Android应用程序安装包。
本发明实施例的上述三个步骤可以有两种实际使用方式:
第一种:由Android应用程序代码中gradle脚本模块执行步骤S101~S103;
第二种:由ant脚本模块执行步骤S101~S102之后,调用Android应用程序代码中gradle脚本模块执行步骤S103。
上述第一种方式可以看成是对现有的开发环境中的打包脚本gradle的功能做出改进,在打包操作前增加便于修改配置数据的可视化入口;上述第二种方式可以看成是采用开发环境中的另一种执行文件脚本ant去调用gradle脚本,其重点就在于ant脚本中引入便于修改配置数据的可视化入口。因此,无需经过开发人员修改代码,在提高打包效率的同时也稳定了代码分支,不会对代码造成影响。
本发明第二实施例,一种Android应用程序安装包的生成方法,本实施例所述方法与第一实施例大致相同,区别在于,本实施例的所述方法,还包括:
在gradle脚本模块执行操作之前,用规范的gradle脚本模块替换掉Android应用程序代码中的gradle脚本模块。
本发明实施例中的该规范的gradle脚本模块的代码可以从svn(subversion的简称)服务器上下载,之所以要用下载到的规范的gradle脚本模块去替换掉Android应用程序代码中的gradle脚本模块中的gradle脚本模块,目的是为了提高代码的稳定性,避免了在研发过程中由于多次修改代码而产生的代码错误提交导致的问题。
本发明第三实施例,一种Android应用程序安装包的生成方法,本实施例所述方法与第一实施例大致相同,区别在于,本实施例的所述方法的步骤S103,还包括:对生成的Android应用程序安装包进行签名及代码优化。
具体的,该签名操作的目的是对所述安装包进行加密,签名及代码优化操作可以保证传输过程的安全性。
本发明第四实施例,与第一实施例对应,本实施例介绍一种Android应用程序安装包的生成装置,如图2所示,包括以下组成部分:
1)数据接收模块201,用于通过可视化入口接收对于Android应用程序安装包的配置数据;
具体的,对于Android应用程序安装包的配置数据,包括:配置参数和接口环境资源;
所述配置参数,包括:接口环境资源选项、自动化测试开关、缓存开关、渠道号和Android应用程序安装包名称;所述接口环境资源选项,包括:测试环境、开发环境、发布环境、预上线环境。
2)参数替换模块202,用于所述配置数据替换掉Android应用程序代码中的相应参数;
3)程序打包模块203,用于通过执行打包命令进行打包,以生成Android应用程序安装包。
本发明实施例的所述装置中的上述三个步骤可以有两种设置方式:
第一种:所述装置中的各模块均设置于Android应用程序代码中gradle脚本模块中进行执行;
第二种:所述数据接收模块和所述参数替换模块设置于ant脚本模块进行执行,所述程序打包模块设置于Android应用程序代码中gradle脚本模块中进行执行。
本发明第五实施例,一种Android应用程序安装包的生成装置,本实施例所述装置与第四实施例大致相同,区别在于,本实施例的所述装置,还包括:
gradle脚本替换模块,用于在gradle脚本模块执行操作之前,用规范的gradle脚本模块替换掉Android应用程序代码中的gradle脚本模块。
本发明第六实施例,一种Android应用程序安装包的生成装置,本实施例所述装置与第四实施例大致相同,区别在于,本实施例的所述装置的程序打包模块203,还用于:对生成的Android应用程序安装包进行签名及代码优化。
具体的,该签名操作的目的是对所述安装包进行加密,签名及代码优化操作可以保证传输过程的安全性。
本发明第七实施例,本实施例是在上述实施例的基础上,介绍一个本发明的应用实例。
本实施例的Android应用程序安装包打包过程是采用ant脚本与gradle打包结合的方式,ant脚本中实现Android应用程序安装包代码以及gradle脚本代码的下载更新,以及接口环境资源的替换,配置参数的动态配置。gradle脚本负责实现最终的打包操作。
本实施例的Android应用程序安装包打包过程,如下:
步骤1,首先创建ant脚本的执行文件build.xml以及属性文件build.properties。
具体的,build.properties是一个属性文件,里面放的是打包需要的配置参数:如接口环境资源选项、自动化测试开关、缓存开关、渠道号以及apk包名。apk为Android应用程序安装包的简称。
build.xml中是整个打包流程的脚本。
将gradle脚本放到svn服务器,在打包过程会以svn上的gradle脚本为准进行替换,这样就避免了代码误提交导致的问题。
步骤2,从svn服务器上下载gradle脚本,从git服务器上复制apk代码。
步骤3,用svn服务器上下载的gradle脚本替换掉apk代码中的gradle脚本。
步骤4,用build.properties中的配置参数替换apk代码中相应的参数。
步骤5,从ftp服务器中拉取接口环境资源替换代码中的接口环境资源。
步骤6,执行gradle脚本打包命令,生成apk,对生成的apk进行签名以及代码优化。
采用本发明实施例的Android应用程序安装包打包方法,能够在开发与测试过程中进行打包时,不在需要改动代码来实现,节省了打包时间,提高了打包效率。打包人员可以独立操作,并且根据自己开发或测试需求,自动配置参数实现打包。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (8)
1.一种Android应用程序安装包的生成方法,其特征在于,包括:
步骤1,通过可视化入口接收对于Android应用程序安装包的配置数据,其中,对于Android应用程序安装包的配置数据,包括:配置参数和接口环境资源;所述配置参数,包括:接口环境资源选项、自动化测试开关、缓存开关、渠道号和Android应用程序安装包名称;所述接口环境资源选项,包括:测试环境、开发环境、发布环境、预上线环境;
步骤2,基于所述配置数据替换掉Android应用程序代码中的相应参数;
步骤3,通过执行打包命令进行打包,以生成Android应用程序安装包。
2.根据权利要求1所述的Android应用程序安装包的生成方法,其特征在于,由Android应用程序代码中gradle脚本模块执行步骤1~3;或者,
ant脚本模块执行所述步骤1~2之后,调用Android应用程序代码中gradle脚本模块执行步骤3。
3.根据权利要求2所述的Android应用程序安装包的生成方法,其特征在于,所述方法,还包括:在gradle脚本模块执行操作之前,用规范的gradle脚本模块替换掉Android应用程序代码中的gradle脚本模块。
4.根据权利要求1~3中任一项所述的Android应用程序安装包的生成方法,其特征在于,所述步骤3,还包括:
对生成的Android应用程序安装包进行签名及代码优化。
5.一种Android应用程序安装包的生成装置,其特征在于,包括:
数据接收模块,用于通过可视化入口接收对于Android应用程序安装包的配置数据,其中,对于Android应用程序安装包的配置数据,包括:配置参数和接口环境资源;所述配置参数,包括:接口环境资源选项、自动化测试开关、缓存开关、渠道号和Android应用程序安装包名称;所述接口环境资源选项,包括:测试环境、开发环境、发布环境、预上线环境;
参数替换模块,用于所述配置数据替换掉Android应用程序代码中的相应参数;
程序打包模块,用于通过执行打包命令进行打包,以生成Android应用程序安装包。
6.根据权利要求5所述的Android应用程序安装包的生成装置,其特征在于,所述装置中的各模块均设置于Android应用程序代码中gradle脚本模块中进行执行;或者,
所述数据接收模块和所述参数替换模块设置于ant脚本模块进行执行,所述程序打包模块设置于Android应用程序代码中gradle脚本模块中进行执行。
7.根据权利要求6所述的Android应用程序安装包的生成装置,其特征在于,所述装置,还包括:
gradle脚本替换模块,用于在gradle脚本模块执行操作之前,用规范的gradle脚本模块替换掉Android应用程序代码中的gradle脚本模块。
8.根据权利要求5~7中任一项所述的Android应用程序安装包的生成装置,其特征在于,所述程序打包模块,还用于:
对生成的Android应用程序安装包进行签名及代码优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511019024.2A CN106933609B (zh) | 2015-12-29 | 2015-12-29 | Android应用程序安装包的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511019024.2A CN106933609B (zh) | 2015-12-29 | 2015-12-29 | Android应用程序安装包的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933609A CN106933609A (zh) | 2017-07-07 |
CN106933609B true CN106933609B (zh) | 2021-01-15 |
Family
ID=59441542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511019024.2A Active CN106933609B (zh) | 2015-12-29 | 2015-12-29 | Android应用程序安装包的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933609B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391155A (zh) * | 2017-07-31 | 2017-11-24 | 北京北信源软件股份有限公司 | 一种打包方法及装置 |
CN108287694B (zh) * | 2017-08-08 | 2021-01-19 | 深圳壹账通智能科技有限公司 | 应用程序构建方法、系统、计算机设备和存储介质 |
CN107729000A (zh) * | 2017-11-24 | 2018-02-23 | 北京小米移动软件有限公司 | 应用程序安装包生成方法及装置 |
CN108415744A (zh) * | 2018-02-08 | 2018-08-17 | 宁夏翔羚科技有限公司 | 应用程序名称修改方法、装置、电子设备及存储介质 |
CN110162310B (zh) * | 2018-02-12 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 插件接口测试方法及装置、计算机设备及存储介质 |
CN110147227B (zh) * | 2018-07-06 | 2023-07-18 | 杭州涂鸦信息技术有限公司 | 一种用于技能配置的程序安装包生成方法及系统 |
CN109189466B (zh) * | 2018-07-23 | 2022-04-05 | 北京城市网邻信息技术有限公司 | 一种马甲包打包方法、装置、电子设备及存储介质 |
CN110895471A (zh) * | 2018-09-12 | 2020-03-20 | 北京京东尚科信息技术有限公司 | 安装包生成方法、装置、介质及电子设备 |
CN111290780B (zh) * | 2020-03-10 | 2024-04-05 | 易方信息科技股份有限公司 | 一种自动化上传SDK到maven仓库的方法 |
CN111399864B (zh) * | 2020-03-16 | 2023-07-07 | 北京五八信息技术有限公司 | 一种安卓系统应用程序基础包生成方法以及生成装置 |
CN111857801B (zh) * | 2020-07-08 | 2022-07-05 | 广州云徙科技有限公司 | 一种移动应用的构建方法 |
CN111949314A (zh) * | 2020-08-20 | 2020-11-17 | 苏州朗动网络科技有限公司 | 应用安装包的生成方法、装置、服务器和存储介质 |
CN116450534B (zh) * | 2023-06-19 | 2023-08-22 | 建信金融科技有限责任公司 | 移动端应用程序的生成方法、装置、设备及介质 |
CN116755713A (zh) * | 2023-08-16 | 2023-09-15 | 深圳传趣网络技术有限公司 | 应用程序的生成方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0926594B1 (en) * | 1997-12-17 | 2007-05-23 | Hewlett-Packard Company, A Delaware Corporation | Method of using primary and secondary processors |
CN101334729B (zh) * | 2008-08-07 | 2012-01-25 | 金蝶软件(中国)有限公司 | 软件包的处理方法及装置 |
CN103970648B (zh) * | 2013-01-30 | 2016-12-28 | 百度国际科技(深圳)有限公司 | 安装包的测试方法和系统 |
CN104077118A (zh) * | 2013-03-27 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种应用程序的资源的定制方法及装置 |
CN104021001A (zh) * | 2014-06-18 | 2014-09-03 | 董崇军 | 一种软件发布方法和系统 |
CN104820602A (zh) * | 2015-05-18 | 2015-08-05 | 北京瑞星信息技术有限公司 | 软件包发布方法、装置及系统 |
-
2015
- 2015-12-29 CN CN201511019024.2A patent/CN106933609B/zh active Active
Non-Patent Citations (1)
Title |
---|
"APK改之理(APK IDE)修改APK简单的入门教程";开启美好;《http://www.360doc.com/content/15/1112/10/2340477_512518147.shtml》;20151112;第1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106933609A (zh) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933609B (zh) | Android应用程序安装包的生成方法及装置 | |
CN104281518A (zh) | 终端应用测试方法、装置、系统、平台及移动终端 | |
CN102289378B (zh) | 自动生成应用程序的方法 | |
WO2016177124A1 (zh) | 一种实现持续集成测试的方法及装置 | |
CN107168749B (zh) | 一种编译方法、装置、设备和计算机可读存储介质 | |
CN108073400A (zh) | 软件自动化构建方法、服务器及存储介质 | |
CN107733985B (zh) | 一种云计算系统功能组件部署方法及装置 | |
US8572583B2 (en) | Method and system for testing software for industrial machine | |
CN105446712B (zh) | 一种应用程序缺陷修补方法及装置 | |
CN105447643A (zh) | 一种面向云计算平台的科学工作流系统及方法 | |
CN106845162B (zh) | 一种重签名方法及装置 | |
CN107015902B (zh) | 一种测试方法和设备 | |
CN105159738A (zh) | 一种热补丁实现方法及系统 | |
CN113064630B (zh) | 移动端app自动打包方法、系统、电子设备及存储介质 | |
US10866803B2 (en) | Generating interaction libraries | |
CN102662648A (zh) | 一种通讯终端的嵌入式软件开发仿真平台及其应用 | |
CN105511868A (zh) | 一种打包iOS应用程序的方法 | |
CN103513966A (zh) | 基于组件的php开发框架 | |
CN104133676A (zh) | 一种基于脚本的功能执行方法和设备 | |
CN106020905A (zh) | 一种微控制器固件开发与更新的方法及系统 | |
CN104991810B (zh) | 自动添加apk到安卓系统中的方法及处理系统 | |
CN105591779A (zh) | 网元巡检方法及装置 | |
CN106484452B (zh) | 一种软件平台的统一配置管理方法和装置 | |
CN105205005A (zh) | 一种服务器的cpu测试方法及系统 | |
CN107678969B (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 |