如何从 android app bundle 分发支持版本?

Posted

技术标签:

【中文标题】如何从 android app bundle 分发支持版本?【英文标题】:How to distribute a support build from android app bundle? 【发布时间】:2020-11-19 02:11:54 【问题描述】:

最终目标是从有问题的设备上收集在 Play 商店中发表评论的用户的应用程序日志。这是通过向此类用户发送支持构建(带有日志的发布构建)并要求他们重现问题并发送日志来实现的。

APK 签名(OK)

使用经典签名方案(无android app bundle)时,步骤如下

生成发布和支持 apk 并使用相同的密钥对其进行签名 将发布 apk 上传到 Play 商店 将支持 apk 上传到云端并提供可下载的链接

用户现在可以通过链接下载支持版本,然后从市场在发行版上安装它。当 Play 商店中有新版本可用时,用户可以成功更新支持构建到该版本。

Google 签名(失败)

使用 android app bundles 签名,我尝试了以下方法

生成发布应用包并使用上传密钥对其进行签名 将发布应用包上传到 Play 商店 生成支持 apk 并使用相同的上传密钥对其进行签名 将支持 apk 上传到云端并提供可下载的链接

⚠️ 但是,用户不能从 Play 商店安装 support build 而不是 release build,因为 release build 由 Google 重新签名(签名不匹配)。

我尝试通过以下方式解决此问题

一个。使用 Google 用于签署发布包的相同密钥签署支持 apk。

失败:找不到下载 Google 密钥的方法。

b.上传支持包并让 Google 对其进行签名。从 Play 管理中心下载签名的支持 apk。

FAIL:只能为特定设备下载一组 apk。无法手动安装。

c。使用内部应用共享。上传支持包并复制下载链接。

失败:用于内部共享的 apk 使用不同的密钥签名 - 签名不匹配

我的问题

    是否有其他方法可以实现最终目标(从市场用户那里获取日志)? 我在上面提到的尝试中是否遗漏了什么?具体来说,
是否可以从 Play 管理中心下载真正的签名密钥? 普通用户是否可以安装一组从 app bundle 生成的 apk?

【问题讨论】:

【参考方案1】:

重复使用相同的上传密钥并不意味着 Google 会使用相同的应用签名密钥重新签署 APK。

如果您希望支持 APK 使用与您的主应用相同的密钥进行签名,您需要在注册 App Signing by Play 时明确提出请求:

回答您的其他问题:

无法从 Google Play 下载签名密钥。 普通用户下载从 App Bundle 生成的 APK 的最佳方式是从 Play。您可以提供指向您发布的任何版本的链接,他们可以直接在他们的设备上打开。如果您的意思是 sideloading 从 App Bundle 生成的 APK,那么对于普通用户来说并不容易,因为这需要运行命令行工具 (bundletool)。

【讨论】:

【参考方案2】:

在这种情况下,您最好的选择是在 Google Play 控制台中创建内部测试轨道,并邀请用户作为内部测试人员加入。将调试包上传到内部测试轨道,然后使用 Bundle Explorer 复制直接构建 URL 并与用户共享。

他们需要先选择加入您的测试版计划,然后在您应用的 Play 商店列表中“加入测试版”。

【讨论】:

以上是关于如何从 android app bundle 分发支持版本?的主要内容,如果未能解决你的问题,请参考以下文章

Android App Bundle:动态功能模块

重要变更: Android App Bundle 的未来计划

android 事件分发机制

如何使用 Android App Bundle 测试在舞台环境中运行的应用?

Apk转Aab(Android App Bundle)

无法从您的 Ionic 应用生成 Android App Bundle(没有 Android Studio)