生成适用于 Android 的 Java 应用

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但有几种建议的替代方法可以考虑迁移到其中。

详细了解支持时间表和替代方案

若要生成第一个 Android 应用,请执行以下步骤:

  1. 连接到存储库服务帐户(GitHub、Bitbucket、VSTS、Azure DevOps)。
  2. 选择应用所在的存储库和分支。
  3. 选择要生成的 Android 项目。
  4. 设置第一个生成。

注意

若要使应用在实际设备上运行,生成需要使用有效证书进行代码签名。

注意

App Center 通过搜索 Android 项目的 gradle(和 gradlew)目录文件来跟踪项目。 请不要在项目 .gitignore 中包含这些文件,因为 App Center Build 将无法找到这些文件。

警告

由于 JCenter 最近关闭,某些应用在使用 App Center 生成时可能会遇到 Gradle 任务故障。 请查看 Gradle 提供的迁移指南。 解决方法是,可以从文件中删除build.gradle所有实例jcenter(),并将其替换为 jcenter { url "http://jcenter.bintray.com/"}。 在此处阅读有关 JCenter 关闭的详细信息。

1.链接存储库

如果尚未连接到存储库服务帐户,则必须连接到该帐户。 帐户连接后,选择 Android 项目所在的存储库。 若要为存储库设置生成,需要管理员并为其拉取权限。

2.选择分支

选择存储库后,选择要生成的分支。 默认情况下,将列出所有活动分支。

3.设置第一个生成

在首次生成之前,需要配置 Android 项目。

3.1. 生成触发器

默认情况下,每当开发人员推送到配置的分支时,都会触发新的生成。 这称为“持续集成”。 如果想要手动触发新生成,可以在配置窗格中更改此设置。

3.2. 生成变体

可用的生成变体将从 build.gradle(应用级别)文件中指定的生成类型和产品风格填充。 选择应生成哪个生成变体。

注意

App Center Build 支持将生成变体作为生成类型(调试、发布或自定义定义)和一个已声明产品风格的组合来查找生成变体。 目前不支持检测风格维度(多个产品口味的组合)。

3.3. 生成 Android 应用捆绑包(.aab)

Android 应用捆绑包是一种分发格式,上传到 Play Store,用于为特定设备生成优化的 APK。 可以在官方 Android 文档中了解有关 Android 应用捆绑包的详细信息。

切换 Android 应用捆绑包的选项,以生成 .aab 除该包以外的 .apk选项。 build.gradle 如果(应用级别)文件包含android.bundle块,则此选项已打开。

3.4. 递增版本号

启用后,应用AndroidManifest.xml中的版本代码会自动为每个生成递增。 更改发生在实际生成期间,不会提交到存储库。

3.5. 代码签名

如果启用,成功的生成将生成 .apk 文件和附加 .aab 文件。 若要将内部版本发布到 Play Store,需要使用存储在密钥存储中的有效证书进行签名。 若要对从分支生成的生成进行签名,请在配置窗格中启用代码登录,将密钥存储上传到存储库,并在配置窗格中提供相关凭据。 可以在 App Center 的 Android 代码签名文档中阅读有关代码签名的详细信息。 .aab将使用与 ..apk. 相同的凭据进行签名。

3.6. 在真实设备上启动成功生成

使用新生成的 APK 文件测试应用是否在实际设备上启动。 这增加了大约 10 分钟的总生成时间。 详细了解 如何配置启动测试

3.7. 从 build.gradle (应用级别) 文件进行配置

将从 Gradle 文件收集有关生成的特定信息,包括依赖项、生成工具版本、生成类型和产品风格。

3.8. 分发生成

可以将每个成功生成的分支配置为分发到以前创建的通讯组或存储目标。 可以添加新的通讯组或 从分发服务中配置存储连接 。 始终有一个名为“协作者”的默认通讯组,其中包含有权访问应用的所有用户。

注意

如果分发到 Google Play 商店,则首选 Android 应用捆绑包(.aab),如果启用,则会分发。 对于 App Center 通讯组和 Intune 存储目标,即使.aab也生成了常规,也会使用常规.apk

4.生成结果

触发生成后,它可以处于以下状态:

  • queued - 生成位于等待释放资源的队列中。
  • 生成 - 应用正在生成并运行相关任务。
  • 成功 - 生成成功完成。
  • failed - 生成已完成,但它失败。 可以下载并检查生成日志进行故障排除。
  • 已取消 - 生成已由用户操作取消,或者超时。

4.1. 生成日志

对于已完成的生成(成功或失败),请下载日志,详细了解生成的方式。 App Center 提供包含以下文件的存档:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

生成特定于步骤的日志(位于存档的生成/目录中)有助于排查和了解生成失败的原因。

4.2。 应用包 (APK)

APK 是包含 Android 应用和资产的包。 如果生成正确签名,则可以在真实设备上安装 APK 并部署到 Play Store。 如果生成尚未签名,则可以在模拟器上运行 APK 或用于其他目的。

4.3。 生成多个 APK

如果应用配置生成多个 APK,则还需要生成通用 APK。 我们的生成系统适用于一个主要 APK 文件,并将忽略特定于特定 CPU ABI 或屏幕密度的所有 APK。 若要了解有关 APK 拆分和生成通用 APK 的详细信息,请阅读 ABI 拆分指南

4.4。 反混淆映射文件 (mapping.txt)

该文件 mapping.txt 包含有关如何将应用的模糊堆栈跟踪映射回原始类和方法名称的信息。

  • 如果以前在应用中将 App Center SDK 与已启用崩溃报告模块集成,并使用 Proguard 或 R8 来缩小和模糊化应用二进制文件,则崩溃报告服务需要此 mapping.txt 文件才能显示 人工可读(已弃用)崩溃报告
  • 如果以前在应用中集成另一个 SDK 用于崩溃报告目的(例如 HockeyApp SDK),则相应的服务要求 mapping.txt 该文件显示可读故障报告。

5. 支持的版本和要求

生成 Android 应用支持的最低版本为 7.0(API 级别 24)。 Android 应用可以具有运行所需的最低 API 级别,但必须至少面向 API 级别 24。

应用必须使用 Gradle 和 Android Gradle 插件进行生成才能正确配置。 存储库需要包含 Gradle 包装器。

另请参阅: 云生成计算机信息