CN113110872B - 一种Android自动化配置构建平台及操作方法 - Google Patents

一种Android自动化配置构建平台及操作方法 Download PDF

Info

Publication number
CN113110872B
CN113110872B CN202110539995.9A CN202110539995A CN113110872B CN 113110872 B CN113110872 B CN 113110872B CN 202110539995 A CN202110539995 A CN 202110539995A CN 113110872 B CN113110872 B CN 113110872B
Authority
CN
China
Prior art keywords
project
configuration
packaging
file
git
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
CN202110539995.9A
Other languages
English (en)
Other versions
CN113110872A (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.)
Green Man Technology Co ltd
Original Assignee
Green Man 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 Green Man Technology Co ltd filed Critical Green Man Technology Co ltd
Priority to CN202110539995.9A priority Critical patent/CN113110872B/zh
Publication of CN113110872A publication Critical patent/CN113110872A/zh
Application granted granted Critical
Publication of CN113110872B publication Critical patent/CN113110872B/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
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Abstract

本发明涉及app软件配置技术领域,尤其是一种Android自动化配置构建平台,包括Android端拆分、网页拆分、后端项目结构拆分和后台框架,Android端拆分包括Git分支规范命名、拆分build.gradle模块、拆分项目图片和定制化Java文件资源目录,网页拆分为基于Vue‑cli构建平台搭建基础的自动化配置构建项目,后台框架为基于Python的Flask框架搭建后台;后端项目结构拆分包括app目录和通过config.py抽离项目无关配置,本发明能够交由非技术人员配置新的项目,打包等操作,实现技术解耦。

Description

一种Android自动化配置构建平台及操作方法
技术领域
本发明涉及app软件配置技术领域,具体领域为一种Android 自动化配置构建平台。
背景技术
现阶段许多公司对于移动端App配置,构建和包管理等都停留在基本的一个项目,一个编译器,一次编译器构建,放置包置远程服务器。每次构建打包,除了基本的代码内容提交外,修改配置项,切换分支,编译打包都是很费时,易错的。尤其是项目较多时,需要根据不同的实施项目,不断修改配置项内容,易错;手动编译打包,耗时。包文件手动放入某个文件服务器,放置麻烦。在文件服务器,查看,下载Apk文件也是费时的。当前包的修改日志且无法自动备份,保存,信息无法追踪查看。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种Android 自动化配置构建平台。
为实现上述目的,本发明提供如下技术方案:一种Android 自动化配置构建平台,包括Android端拆分、网页拆分、后端项目结构拆分和后台框架,
Android端拆分包括Git 分支规范命名、拆分build.gradle模块、拆分项目图片和定制化Java文件资源目录,
Git 分支规范命名,用于自动生成以及识别对应的变体,规范命名为proj_xp_snapshot,其中xp对应的是一个实施项目;
拆分build.gradle模块分为signConfigs密钥模块、productFlavors项目变体模块、一个读取判断外部文件的config.gradle文件、以及多个根据项目名称生成的xp.gradle 项目配置文件;
网页拆分为基于Vue-cli构建平台搭建基础的自动化配置构建项目,网页拆分为4个模块,包括查看项目分支、新增编辑实施项目、历史打包快捷查看入口和自动打包入口;
后台框架为基于Python的Flask框架搭建后台;
后端项目结构拆分包括app目录和通过config.py 抽离项目无关配置。
优选的,signConfigs密钥模块为根据项目代号和项目配置生成独有的签名秘钥文件,
signingConfigs
{
xp{
storeFile file('../xp.key')
keyAlias 'china'
keyPassword 'xpPass'
storePassword 'xpPass'
}
}。
优选的,productFlavors项目变体模块为用于做为每一个项目的变体配置项,用于从项目配置gradle文件读取内容。
优选的,xp.gradle文件为用于声明每一个项目参数配置,包括不限于:appId,apk名称,第三方sdk初始化认证信息,请求公共参数,项目定制配色,文案内容,服务器环境配置信息。
优选的,查看项目分支模块为根据git分支命名,过滤出所有的实施分支;根据得取的分支代号,在界面显示项目的中文名称;每个分支添加编辑配置,打包历史,自动打包快捷入口。
优选的,新增编辑实施项目为新增和实施使用同一个页面处理,实施时传入对应的值即可;新增实施项目为根据项目现有节点,在页面填写项目配置,上传签名文件、项目图片,生成一个特有实施项目分支。
优选的,打包历史为根据服务器环境拆分成开发、测试、预发、正式四个环境;每个环境有历史打出的Apk包、打包时间、版本号、code号、修改日志,热修复备份文件,加固签名Apk文件。
优选的,自动打包为根据不同环境修改code号、版本号、服务器地址、查看当前修改记录、以及跟踪查看打包进度及输出日志。
优选的,app目录包括Auto 自动打包、配置相关目录、git操作目、Static 静态资源目录和Templates 服务器地址;config.py 抽离项目无关配置包括但不限于系统环境、文件目录、服务器地址。
为实现上述目的,本发明还提供如下技术方案:一种Android 自动化配置构建平台的操作方法,其步骤为:
(1)查询打包历史:
① 根据git分支,找到文件输出目录;
② 根据目录,按时间,分支划分当前项目;
③ 返回给前端页面展示;
(2)新增实施项目:
① 查询git tag,返回给前端;
② 根据前端输入的项目代号,创建分支;
③ 将前端数据,传入当前文件;
④ 操作git,提交到git仓库;
(3)编辑实施项目:
① 根据git分支,获取分支内,实施配置内容,返回给前端;
② 前端修改配置,提交form到服务端;
③ 服务端再次于本地拉取git远程修改,将form内容提交到本地文件中;
④ 操作git,提交到远程仓库;
(4)自动构建:
① 根据git分支,获取最新的代码;
② 根据项目代号,命令行执行打包代码,并实时将打包信息输出给前端展示;
③ 找到输出目录,复制文件到服务器文件服务器;
④ 如果打包环境是release,此处继续调用360linux打包程序,根据签名给apk加固重签名;
⑤ 打包结束,将结果返回给前端;
⑥ 根据配置的钉钉策略,将打包日志,下载二维码信息,通过钉钉通知所有相关人员;
⑦ 测试直接扫二维码,调用服务器接口,返回文件资源于用户,至此,用户可以直接安装apk文件。
与现有技术相比,本发明的有益效果是:
利用linux的快速构建环境,实现打包时间控制在一分钟内,同时不占用技术人员的开发时间,不再带薪编译;
打包后自动生成更新日志,并通知相关人员,节省中间沟通成本,提高工作效率,让每个人更聚焦在自己的职责中;
打包历史列表话规则,更加清晰和方便的找到最新包或者所有的最新版本包;支持移动端一键下载,测试不在需要从Ftp之类的文件服务器查找文件,然后下载到电脑,安装到手机;
人员可替性;实施项目的新增维护,打包不再需要专业的开发去维护,可以将这一切交给产品或者运维,整理好实施项目的配置文件、图片;通过构建系统创建or维护实施项目,然后一键打包通知测试;解放技术开发的双手,且降低配置项中间沟通出错的风险。
附图说明
图1为本发明的Android端系统流程图;
图2为本发明的网页端系统流程图;
图3为本发明的后台系统流程。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1至3,本发明提供一种技术方案:一种Android 自动化配置构建平台,包括Android端拆分、网页拆分、后端项目结构拆分和后台框架,
Android端拆分包括Git 分支规范命名、拆分build.gradle模块、拆分项目图片和定制化Java文件资源目录,
Git 分支规范命名,用于自动生成以及识别对应的变体,规范命名为proj_xp_snapshot,其中xp对应的是一个实施项目;
拆分build.gradle模块分为signConfigs密钥模块、productFlavors项目变体模块、一个读取判断外部文件的config.gradle文件、以及多个根据项目名称生成的xp.gradle 项目配置文件;
网页拆分为基于Vue-cli构建平台搭建基础的自动化配置构建项目,网页拆分为4个模块,包括查看项目分支、新增编辑实施项目、历史打包快捷查看入口和自动打包入口;
介于当前项目和Shell命令有相当多的交互操作,后台框架为基于Python的Flask框架搭建后台;
后端项目结构拆分包括app目录和通过config.py 抽离项目无关配置。
signConfigs密钥模块为根据项目代号和项目配置生成独有的签名秘钥文件,
signingConfigs
{
xp{
storeFile file('../xp.key')
keyAlias 'china'
keyPassword 'xpPass'
storePassword 'xpPass'
}
}。
productFlavors项目变体模块为用于做为每一个项目的变体配置项,用于从项目配置gradle文件读取内容。
xp.gradle文件为用于声明每一个项目参数配置,包括不限于:appId,apk名称,第三方sdk初始化认证信息,请求公共参数,项目定制配色,文案内容,服务器环境配置信息。
查看项目分支模块为根据git分支命名,过滤出所有的实施分支;根据得取的分支代号,在界面显示项目的中文名称;每个分支添加编辑配置,打包历史,自动打包快捷入口。
新增编辑实施项目为新增和实施使用同一个页面处理,实施时传入对应的值即可;新增实施项目为根据项目现有节点,在页面填写项目配置,上传签名文件、项目图片,生成一个特有实施项目分支。
打包历史为根据服务器环境拆分成开发、测试、预发、正式四个环境;每个环境有历史打出的Apk包、打包时间、版本号、code号、修改日志,热修复备份文件,加固签名Apk文件。
自动打包为根据不同环境修改code号、版本号、服务器地址、查看当前修改记录、以及跟踪查看打包进度及输出日志。
app目录包括Auto 自动打包、配置相关目录、git操作目、Static 静态资源目录和Templates 服务器地址;config.py 抽离项目无关配置包括但不限于系统环境、文件目录、服务器地址。
一种Android 自动化配置构建平台的操作方法,其步骤为:
(1)查询打包历史:
① 根据git分支,找到文件输出目录;
② 根据目录,按时间,分支划分当前项目;
③ 返回给前端页面展示;
(2)新增实施项目:
① 查询git tag,返回给前端;
② 根据前端输入的项目代号,创建分支;
③ 将前端数据,传入当前文件;
④ 操作git,提交到git仓库;
(3)编辑实施项目:
① 根据git分支,获取分支内,实施配置内容,返回给前端;
② 前端修改配置,提交form到服务端;
③ 服务端再次于本地拉取git远程修改,将form内容提交到本地文件中;
④ 操作git,提交到远程仓库;
(4)自动构建:
① 根据git分支,获取最新的代码;
② 根据项目代号,命令行执行打包代码,并实时将打包信息输出给前端展示;
③ 找到输出目录,复制文件到服务器文件服务器;
④ 如果打包环境是release,此处继续调用360linux打包程序,根据签名给apk加固重签名;
⑤ 打包结束,将结果返回给前端;
⑥ 根据配置的钉钉策略,将打包日志,下载二维码信息,通过钉钉通知所有相关人员;
⑦ 测试直接扫二维码,调用服务器接口,返回文件资源于用户,至此,用户可以直接安装apk文件。
通过本技术方案,
一、打开测试打包地址 or App;
二、选择主项目(我们分为业主端,物管端,商家端);
三、选择实施项目(对外实施的项目分支);
四、点开查看/编辑/新增配置项目(在界面中修改新增一个实施项目配置和其他内容),点击提交;
五、配置项提交后,我们的实施项目就生成/编辑成功了;
六、点击一键打包;在打包中我们可以选择环境,修改版本号和版本名,打包过程中可以查看我们的打包日志;
七、打包结束后,钉钉 or 邮件会通知相关人员,本次打包人,打包结果,和修改日志;
测试人员查看历史打包时,点击打包历史;根据项目,环境归集;根据版本号,时间倒续排列;可以在列表中查看到本次打包所有的修改点。
1)网页或者移动端可视化配置;支持一键导入或者逐条修改。
2)手机端或者网页端可以在修改基本配置的同时,一键打包,记录git 提交日志
3)打包后同步推送到钉钉或者通过发送邮件,通知到测试及相关开发人员 打包结果,修改内容。
4)移动端或者网页端快捷遍历打包历史,下载APK,查看版本更新日志。
可以交由非技术人员配置新的项目,打包等操作,实现技术解耦。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种Android 自动化配置构建平台,其特征在于:包括Android端拆分、网页拆分、后端项目结构拆分和后台框架,
Android端拆分包括Git 分支规范命名、拆分build.gradle模块、拆分项目图片和定制化Java文件资源目录,
Git 分支规范命名,用于自动生成以及识别对应的变体,规范命名为proj_xp_snapshot,其中xp对应的是一个实施项目;
拆分build.gradle模块分为signConfigs密钥模块、productFlavors项目变体模块、一个读取判断外部文件的config.gradle文件、以及多个根据项目名称生成的xp.gradle 项目配置文件;
网页拆分为基于Vue-cli构建平台搭建基础的自动化配置构建项目,网页拆分为4个模块,包括查看项目分支、新增编辑实施项目、历史打包快捷查看入口和自动打包入口;
后台框架为基于Python的Flask框架搭建后台;
后端项目结构拆分包括app目录和通过config.py 抽离项目无关配置。
2.根据权利要求1所述的一种Android 自动化配置构建平台,其特征在于:signConfigs密钥模块为根据项目代号和项目配置生成独有的签名秘钥文件,用于项目打包签名使用。
3.根据权利要求1所述的一种Android 自动化配置构建平台,其特征在于:productFlavors项目变体模块为用于做为每一个项目的变体配置项,用于从项目配置gradle文件读取内容。
4.根据权利要求1所述的一种Android 自动化配置构建平台,其特征在于: xp.gradle文件为用于声明每一个项目参数配置,包括不限于:appId,apk名称,第三方sdk初始化认证信息,请求公共参数,项目定制配色,文案内容,服务器环境配置信息。
5.根据权利要求1所述的一种Android 自动化配置构建平台,其特征在于:查看项目分支模块为根据git分支命名,过滤出所有的实施分支;根据得取的分支代号,在界面显示项目的中文名称;用于给每个实施分支添加快捷新增编辑项目参数配置、查阅项目打包历史、快捷自动打包入口。
6.根据权利要求1所述的一种Android 自动化配置构建平台,其特征在于:在构建平台可以完成创建实施项目与编辑实施项目相关配置参数,在项目实施时传入对应的值即可;创建实施项目为根据项目现有节点,在页面填写项目配置,上传签名文件、项目图片,生成一个特有实施项目分支。
7.根据权利要求1所述的一种Android 自动化配置构建平台,其特征在于:打包历史为根据服务器环境拆分成开发、测试、预发、正式四个环境;每个环境有历史打出的Apk包、打包时间、版本号、code号、代码修改日志,经加固签名后Apk文件。
8.根据权利要求1所述的一种Android 自动化配置构建平台,其特征在于:自动打包为根据不同环境修改code号、版本号、服务器地址、查看当前修改记录、以及跟踪查看打包进度及输出日志。
9.根据权利要求1所述的一种Android 自动化配置构建平台,其特征在于:app目录包括Auto 自动打包、配置相关目录、git操作目录、静态资源目录和服务器地址;config.py用于抽离项目运行配置包括但不限于系统环境、文件目录、服务器地址。
10.一种Android 自动化配置构建平台的操作方法,其特征在于:基于权利要求1所述的Android 自动化配置构建平台,其操作方法步骤为:
(1)查询打包历史:
① 根据git分支,找到文件输出目录;
② 根据目录,按时间,分支划分当前项目;
③ 返回给前端页面展示;
(2)新增实施项目:
① 查询git tag,返回给前端;
② 根据前端输入的项目代号,创建分支;
③ 将前端数据,传入当前文件;
④ 操作git,提交到git仓库;
(3)编辑实施项目:
① 根据git分支,获取分支内,实施配置内容,返回给前端;
② 前端修改配置,提交form到服务端;
③ 服务端再次于本地拉取git远程修改,将form内容提交到本地文件中;
④ 操作git,提交到远程仓库;
(4)自动构建:
① 根据git分支,获取最新的代码;
② 根据项目代号,命令行执行打包代码,并实时将打包信息输出给前端展示;
③ 找到输出目录,复制文件到服务器文件服务器;
④ 如果打包环境是release,此处继续调用360linux打包程序,根据签名给apk加固重签名;
⑤ 打包结束,将结果返回给前端;
⑥ 根据配置的钉钉策略,将打包日志,下载二维码信息,通过钉钉通知所有相关人员;
⑦ 测试直接扫二维码,调用服务器接口,返回文件资源于用户,至此,用户可以直接安装apk文件。
CN202110539995.9A 2021-05-18 2021-05-18 一种Android自动化配置构建平台及操作方法 Active CN113110872B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110539995.9A CN113110872B (zh) 2021-05-18 2021-05-18 一种Android自动化配置构建平台及操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110539995.9A CN113110872B (zh) 2021-05-18 2021-05-18 一种Android自动化配置构建平台及操作方法

Publications (2)

Publication Number Publication Date
CN113110872A CN113110872A (zh) 2021-07-13
CN113110872B true CN113110872B (zh) 2023-03-28

Family

ID=76723125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110539995.9A Active CN113110872B (zh) 2021-05-18 2021-05-18 一种Android自动化配置构建平台及操作方法

Country Status (1)

Country Link
CN (1) CN113110872B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741960B (zh) * 2021-11-05 2022-04-01 广州易方信息科技股份有限公司 一种基于安卓端的App自动定制打包方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104423955A (zh) * 2013-09-05 2015-03-18 北大方正集团有限公司 实现iOS应用自动编译的方法及系统
US11593075B2 (en) * 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US20180181378A1 (en) * 2016-02-28 2018-06-28 Alex Bakman Method, system and apparatus for generating, editing, and deploying native mobile apps
CN107729066B (zh) * 2017-11-08 2021-08-03 重庆扬讯软件技术股份有限公司 一种基于svn资源库自动化构建发布方法与装置
CN108052314B (zh) * 2017-12-26 2020-05-01 无线生活(杭州)信息科技有限公司 一种基于Gradle的插件打包的方法及装置
CN108279912A (zh) * 2018-01-23 2018-07-13 北京粉笔蓝天科技有限公司 安卓多自定义属性安装包自动生成方法、系统及存储介质
CN110888639A (zh) * 2018-09-10 2020-03-17 北京京东尚科信息技术有限公司 一种业务代码编译打包方法和装置
CN109766101A (zh) * 2018-12-12 2019-05-17 武汉掌游科技有限公司 一种Android自动打包方法及系统
CN110399134A (zh) * 2019-06-28 2019-11-01 绿漫科技有限公司 一种基于容器的快速部署方法及系统
CN110597518B (zh) * 2019-09-17 2023-08-18 上海钧正网络科技有限公司 项目构建方法、装置、计算机设备和存储介质
CN111290780B (zh) * 2020-03-10 2024-04-05 易方信息科技股份有限公司 一种自动化上传SDK到maven仓库的方法
CN111506322B (zh) * 2020-04-16 2023-03-14 瑞纳智能设备股份有限公司 一种自动化集成构建开发部署平台及方法
CN111857801B (zh) * 2020-07-08 2022-07-05 广州云徙科技有限公司 一种移动应用的构建方法
CN112083948B (zh) * 2020-08-28 2022-08-09 广州九尾信息科技有限公司 一种基于数据配置化的自动化构建部署方法及工具
CN112181386B (zh) * 2020-08-31 2023-12-01 深圳市优必选科技股份有限公司 一种基于软件持续集成的代码构建方法、装置及终端
CN112346752A (zh) * 2020-12-03 2021-02-09 江苏云坤信息科技有限公司 基于jenkins和K3S的软件环境快速部署方法

Also Published As

Publication number Publication date
CN113110872A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
CN112882700B (zh) iOS应用程序构建方法及装置、电子设备及存储介质
CN111580832A (zh) 应用于异构多云环境的应用发布系统及方法
US9047160B2 (en) Designing and building virtual images using semantically rich composable software image bundles
CN110912724B (zh) 一种基于参数驱动的自动业务编排方法及装置
US11667033B2 (en) Systems and methods for robotic process automation
CN112965785B (zh) 基于容器的微服务应用开发方法及开发平台
CN107704238B (zh) 一种对项目进行打包的方法及装置
CN105335173A (zh) 初始化智能终端设备的方法、装置及系统
CN111142879A (zh) 软件集成发布方法及自动运维平台
CN110795078A (zh) 基于ios系统下的app工程运作系统的架构方法
CN112416327A (zh) 项目构建方法、装置、计算机设备及存储介质
CN111857801B (zh) 一种移动应用的构建方法
CN111596928A (zh) 一种应用控制方法、装置及电子设备
CN113064630A (zh) 移动端app自动打包方法、系统、电子设备及存储介质
CN113110872B (zh) 一种Android自动化配置构建平台及操作方法
CN113253887B (zh) 应用发布方法、计算机设备及可读存储介质
CN115098063A (zh) 项目开发方法、装置和电子设备
CN116501652B (zh) 基于saas系统的可持续集成的自动化测试方法及系统
CN113535220B (zh) 一种代码包管理方法和装置
CN114265595B (zh) 一种基于智能合约的云原生应用开发与部署系统和方法
CN110780854A (zh) 基于ios系统下的app自动化集成平台系统及方法
CN115794214A (zh) 应用模块元数据管理方法、设备、存储介质及装置
CN111427770B (zh) 一种资源测试方法及相关设备
CN113434554A (zh) 持续集成流水线的构建方法及装置
US20160335058A1 (en) Semantic representations of software extensions

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