Android on 华为云DevCloud

举报
DevCloud 发表于 2018/07/23 11:44:55 2018/07/23
【摘要】 文章目的本文主要帮助想要或者正在用华为软件开发服务Devcloud进行Android开发用户,流畅的使用华为软件开发服务

文章目的

本文主要帮助想要或者正在用华为软件开发服务Devcloud进行Android开发用户,流畅的使用华为软件开发服务。 

概述

2.1 Android

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机200711月,Google84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后GoogleApache开源许可证的授权方式,发布了Android的源代码。(摘自百度百科)

2.2 华为软件开发服务DevCloud

官网入口:华为软件开发服务(DevCloud

华为软件开发服务(DevCloud)是集华为近30年研发实践,前沿研发理念,先进研发工具为一体的一站式云端DevOps平台,面向开发者提供包括项目管理,代码托管,流水线,代码检查,编译构建,测试管理,移动应用测试,部署,发布,CloudIDE,研发协同等基础功能的研发工具服务。覆盖软件开发全生命周期,支持多种主流研发场景,让软件开发更高效。

前提条件

3.1 华为云账号

使用华为软件开发服务,首先需要注册一个华为云账号。

3.2 Git客户端

使用git托管代码,在本地需要安装git客户端,与云上代码仓库建立连接

Git的安装与使用请参考软件开发服务资料秘籍

3.3 已经创建好的项目

创建项目 

图片1.png 

华为云官网首页-产品-软件开发服务进入华为软件开发服务首页

图片2.png 

点击右上角新建按钮新建项目

图片4.png 

输入项目名称,选择开发流程,输入项目描述,点击“新建”按钮即完成了一个项目的创建。点击创建好的项目,进入具体的项目,华为软件开发服务为软件开发者提供了完善的项目管理服务,具体使用方法参见项目管理帮助总览

研发场景概览

4.1 示例项目概述

1.项目名称:V2EX Daily App

2.项目简介:V2EX,是一个汇集各类奇妙好玩的话题和流行动向的网站。本项目通过V2EX提供的API接口,实现在手机端实时获取V2EX提供的各种信息,让你不论身在何处,都可以徜徉在V2EX话题的海洋中

3.项目类型:Android App应用

4.开发环境JDK + Android Studio + SDK

图片5.png 

代码托管

华为软件开发服务提供基于Git的代码托管仓库,仓库提供可视化的管理界面,Android开发者可将自己的Android工程代码上传到此仓库中进行代码托管。

代码同步

本文采用的是一个开源的Android demo代码,大家可以通过以下方式进行下载使用。

进入DevCloud代码广场,搜索框中输入V2EX点击搜索如下图所示。

图片6.png 

搜索出相应代码后,可以直接通过fork功能,将代码fork到自己新建的项目中,如下图所示。

图片7.png 

图片.pngfork后代码仓库默认为共有仓库,用户可以到代码托管-设置-基本设置中进行私有仓库切换如下图所示:

图片8.png 

也可以通过代码广场提供的下载功能,将代码下载到本地,然后通过git客户端将代码上传到DevCloud代码仓库。

图片9.png 

代码仓库

代码托管首页面点击创建的代码仓库,可以进入到代码仓库里,这里支持文件在线编辑,仓库提交记录,代码贡献度统计等多种功能,满足各类开发者的需求。

代码仓库的具体使用方式,如密钥配置,代码下载、提交分支变更、保护等请参考软件开发服务资料秘籍图片10.png

代码检查

可在线进行代码静态检查、代码架构检查、代码安全检查、编码问题检查、质量评分、代码缺陷改进趋势分析,辅助用户管控代码质量

代码质量检查

根据文档配置代码检查任务,在选择规则集时选择想要检查出的Android致命问题规则集、Android严重问题规则集、Android一般问题规则集、Android提示问题规则集(根据自己的情况选择)

图片11.png 

代码检查任务执行完毕,在问题列表中查看代码检查结果,针对每个问题都会给出详细的问题描述和修改建议,修改完毕后,再次执行代码检查任务,查看任务执行结果,形成代码质量改进闭环。

图片12.png 

持续交付

7.1 编译构建

Android项目需要进行编译构建将源码编译成目标软件包,我们需要通过执行云端编译构建过程将程序打包,进行软件组件的归档发布管理,如果项目有服务器端也方便下个阶段的部署环节直接调取云端构建包执行自动化部署。

编译

进入构建首页,点击“新建任务”,进入新建任务界面,按步骤配置构建任务。

图片13.png 

基本信息步骤,设置任务名称,配置版本参数,如下图所示。

spacer.gifspacer.gif图片14.png 

点击下一步,进入代码配置步骤,

图片15.png 

代码配置步骤选择需要构建的代码仓库,点击下一步进入构建配置步骤

spacer.gif图片16.png 

通过上图可知devcloud目前支持的gradle版本,那在这个项目里我们应该选择哪个版本呢

图片.png:首先我们进入代码仓库根目录下gradle文件如下所示

 图片17.png

 

根据gradle插件跟gradle版本对应表可知,当前项目gradle插件版本较低,软开云不支持相应版本,需更新插件版本

spacer.gif图片18.png 

这里,我们选gradle3.3所以对应的我们需要对根目录下的gradle文件,做如下修正:

图片19.png 

版本打包归档

“构建执行配置”步骤添加归档步骤指定归档文件(这里指定的归档文件是打包命令打包生成的apk文件这样构建完成可以下载构建生成的软件包。添加上传软件包到软件发布仓库步骤可以将构建生成的软件包上传到发布仓库,自动进行软件版本管理。点击下一步进入“构建计划配置”步骤

图片20.png 

定时构建

“构建计划配置”中可以设置任务的执行计划,可以使构建任务指定时间执行。点击保存完成构建任务的创建。

图片21.png 

构建日志

点击进入构建任务,点击开始构建按钮,即开始执行构建,构建过程中,工作空间会显示构建日志检查构建过程和归档发布过程是否有问题出现。

本项目初次构建的时候,可能会报以下问题:


问题一

图片22.png 

解决办法buildToolsVersion导致,将app目录下的gradle文件buildToolsVersion版本升级,如下图所示。

 图片23.png

 图片24.png

 

问题二

图片25.png

 解决办法:根据日志提示,app目录下的gradle文件做如下修正

图片26.png

图片27.png

图片28.png 

 

构建成功后可以点击下载构建包下载本次构建生成的软件包如下图所示

spacer.gif图片29.png 

图片.png:注意当前编译构建生成的APK包均为非签名APK安装包。

构建历史

点击构建历史可以查看历史构建详情,并支持下载历史构建软件

图片30.png 

图片.png在平时的Android开发中,我们经常会遇到在不同网络环境(比如:开发环境、测试环境)之间的切换等需求,如何优雅的管理网络环境的配置?如果每一次在不同网络环境间切换,都需要更改代码,然而重新打包,那未免有点低效。下面我们提供一种常用的多环境打包的方法,供大家参考。

app目录下的gradle文件的android配置添加如配置。

 图片31.png

图片32.png

图片33.png

图片34.png

图片35.png

图片36.png

 

修改完毕后,进入编译构建页面,点击开始构建,构建成功后,点击下载构建包,如下图所示,已经可以下载生成的版本、多环境构建包。

图片37.png 

图片.png:多版本、多环境构建包已经可以生成了,那如何打签名包呢?首先我们要准备好自己.jks签名文件,签名文件放到如下路径中:

图片.png图片38.png

spacer.gif 

然后,在app目录下的gradle文件的android配置添加如配置

 图片39.png

图片40.png

图片41.png

图片42.png

图片43.png

修改完毕后,进入编译构建页面,点击开始构建,构建成功后,再次下载的release构建包就是签名构建了。

图片44.png 

7.2 发布

软件仓库

软件开发服务提供4种类型的发布仓库,前两种是远程Maven私仓,用于Maven类型构建过程中第三方依赖包的的管理。第三个仓库是mirror镜像仓,镜像了一些构建过程中经常以来的中央仓到后台,提升构建速度,体现云端构建的优势。我们本次demo中应用最后一个编译构建仓库,作为生成的软件包的版本归档管理仓库。

版本管理下载

由于在构建任务里配置了上传到发布仓库步骤每次构建结束后,可以在发布仓库里就会新增一个本次构建生成的软件包实现软件版本的自动管理。配置部署任务时就可以在这里选择要部署的软件包文件了。这里支持将某构建的软件包下载本地

图片45.png 

编译构建成功后,去发布仓库页面,确认如下:

图片46.png 

7.3 流水线

当所有流程打通之后,设置对应的流水线,将所有流程添加进去,实现自动化的构建发布一键执行。

将需要的任务添加进流水线中,并运行流水线。

图片47.png 

7.4 测试

测试管理(TestMan)是面向软件开发者提供的一体化测试解决方案,覆盖测试需求、用例管理、测试任务管理、缺陷管理,多维度评估产品质量,帮助您高效管理测试活动,保障产品高质量交付。

DevCloud跟TestBird合作提供APP 兼容性测试,大家可以根据自己的需要进行机型选取测试。

图片48.png 

至此,恭喜您打通了软件开发服务的各服务,完成了Androiddemo搭建。

附录

8.1 软件开发服务视频教程

【新手训练营几分钟教你掌握各个服务基本操作

项目管理  配置管理  流水线  代码检查  编译构建  测试管理  部署  发布

【云途进阶课场景化教学,从实战中玩转软件开发云

Web应用场景——开发一套EHR系统:规划阶段  开发阶段  交付阶段

App应用场景——打造一款趣味交友App规划阶段  开发阶段  交付阶段

8.2 软件开发服务资料秘籍

Git菜鸟进阶手册 

Git图形化工具进阶攻略 

8.3 华为云社区Devcloud产品答疑

产品答疑FAQ


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。