文档首页 > > 快速入门> 基于Android的App开发> 构建并归档软件包

构建并归档软件包

分享
更新时间: 2020/05/21 GMT+08:00

编译构建为开发者提供配置简单的混合语言构建平台,支持。任务一键创建、配置和执行,实现获取代码、构建、打包等活动自动化。发布提供软件仓库、软件发布、发布包下载、发布包元数据管理等功能,实现软件包版本管理。

本节通过以下三步介绍如何使用编译构建服务将代码编译打包成软件包,并将软件包归档到软件发布库中。

  1. 创建&执行编译构建任务
  2. 多环境构建
  3. 签名包构建

创建&执行编译构建任务

  1. 单击页面上方导航栏构建&发布 > 编译构建,进入“编译构建”页面。
  2. 单击“新建任务”,进入“新建编译构建任务”页面。
  3. 输入任务名称,单击“下一步”
  4. 源码源选择“DevCloud”,源码仓库选择在创建代码仓库、管理项目代码中创建的代码仓库,分支选择“master”,单击“下一步”
  5. 选择推荐模板“Android APK”, 单击“确定”,进入构建步骤配置页面。
  6. 选择步骤“Android构建”,配置编译用Android构建系统版本,并参考下图修改命令行。

      

    Gradle版本根据代码仓库中的配置文件build.gradle进行选择。

      

    其中,Gradle版本跟gradle plugin的对应关系如下:

    Plugin version

    Required Gradle version

    1.0.0 - 1.1.3

    2.2.1 - 2.3

    1.2.0 - 1.3.1

    2.2.1 - 2.9

    1.5.0

    2.2.1 - 2.13

    2.0.0 - 2.1.2

    2.10 - 2.13

    2.1.3 - 2.2.3

    2.14.1+

    2.3.0+

    3.3+

    3.0.0+

    4.1+

  7. 单击“参数设置”页签,添加参数“buildVersion”,用于版本管理。

      

  8. 返回“构建步骤”页签,选择步骤“上传软件包到软件发布库”,输入发布版本号“${buildVersion}”

      

  9. 单击“执行”,在弹框中输入版本号,启动构建任务,当出现如下页面时,表示任务执行成功完成。

    若执行失败,请查看日志信息排查问题,或通过编译构建-常见问题查找解决方法。

      

  10. 单击页面上方导航栏发布,进入“软件发布库”页面。
  11. 单击文件夹“halo-blog-CI”,根据步骤9中输入的版本号,单击同名文件夹进入,即可看到生成的软件包“app-debug.apk”

      

多环境构建

在平时的Android开发中,经常会遇到在不同网络环境(比如:开发环境、测试环境)之间的切换等需求,如何优雅的管理网络环境的配置?

如果每一次在不同网络环境间切换,都需要更改代码,然而重新打包,那未免有点低效。

下面提供一种常用的多环境打包的方法,供大家参考。

  1. 在代码仓库中找到文件夹“app”,在其中的build.gradle文件中的Android代码段中添加以下代码。

    //多版本
    buildTypes {
        debug {
    		//是否输出日志
    		buildConfigField 'boolean', 'IS_DEBUG', 'true'
    		}
        release {
    		buildConfigField  'boolean', 'IS_DEBUG', 'false'
        }
    }
    //多环境
    productFlavors {
    	//开发环境
    	develop {
    		applicationId 'com.yugy.v2ex.daily.dev'
    		buildConfigField "String", "APPURL", "\"http://v2exdaily/develop/api/\""
        }
        //测试环境
        Test {
    		applicationId 'com.yugy.v2ex.daily.test'
    		buildConfigField "String", "APPURL", "\"http://v2exdaily/test/api/\""
        }
        //生产环境
        product {
    		applicationId 'com.yugy.v2ex.daily.product'
    		buildConfigField "String", "APPURL", "\"http://v2exdaily/product/api/\""
        }
    }

      

  2. 执行构建任务,成功执行后,在软件发布库可看到如下APK。

      

签名包构建

多版本、多环境构建包已经可以生成了,但是调试包并没有签名。那如何打签名包呢?

  1. 准备好自己的签名文件“xxx.jks”,将签名文件放入代码仓库中。

      

  2. 在文件“app/build.gradle”的Android代码段中添加以下代码。

    其中, “keyPassword”“storePassword”来源于签名文件。
    //签名文件
    signingConfigs {
        release {
    	keyAlias 'key0'
            keyPassword 'xxxxxx'
            storeFile file('../keystore.jks')
            storePassword 'xxxxxx'
    	}
    }

    并在下图所示位置添加以下代码:

    //是否签名
    signingConfig signingConfigs.release

      

  3. 执行构建任务,成功执行后,在软件发布库可看到所有release包均已签名。

      

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问