iOS+
Android
本页面提供了问题排查帮助,并解答了有关使用 App Distribution 分发和测试应用的常见问题。
分发应用
请按照以下提示排查在向测试人员分发应用时可能遇到的问题。
因缺少联系电子邮件地址而无法分发应用
上传应用时,您可能会遇到以下错误:
“我们找不到应用 <app-id>
的联系人电子邮件地址。请访问 Firebase 控制台中的 App Distribution ,设置一个电子邮件地址。”
如果可以,请在 Firebase 控制台中设置联系人电子邮件地址。如果问题仍然存在,请与 Firebase 支持团队 联系。
预配您的应用时出错(400、409 或 500 错误)
如果您在预配期间反复遇到错误 400、409 或 500,请与 Firebase 支持团队 联系。请向支持团队提供您的 Firebase 项目编号和应用标识符。
无法上传 APK 文件
验证 APK 的大小。所有二进制文件的大小上限为 2048 MiB,略高于 2 GB。
如果 APK 大小在文件大小上限内且错误可重现,请与 Firebase 支持团队 联系。
无法使用 Fastlane 上传 APK。APK 未签名。
使用以下命令验证 APK 是否已签名:
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
分发 Android App Bundle (AAB)
收到社交登录/第三方 API 提供商错误
当您将 AAB 上传到 App Distribution 时,Google Play 会使用测试应用签名密钥证书自动对生成的 APK 重新签名。当系统提示时,如果您要继续使用 API 提供商的第三方服务,则必须向 API 提供商注册您的应用。签名后,您可以在 Firebase 控制台中查看您的应用的测试证书。
我上传的 AAB 文件是否也会出现在 Google Play 中?
您上传到 App Distribution 的 AAB build 不会显示在您的 Google Play 开发者账号中(包括 App Bundle 资源管理器和内部应用分享)。
如果我取消 Firebase 与 Google Play 的关联,会出现什么情况?
如果 Firebase Android 应用与 Google Play 解除关联,则会发生以下情况:
您将无法通过 App Distribution 与 Google Play 的集成,将新的 app bundle 上传到 App Distribution 并将其导出到 Google Play。
现有 build 将继续在 Firebase App Distribution 信息中心中可见,并可供您的测试人员使用。
之前在 Firebase 与 Google Play 之间导出的所有数据仍然可以在这两款产品中访问。
我可以重新尝试将应用关联至 Google Play 吗?
如需通过 App Distribution 分发 Android App Bundle (AAB),并将上传的 AAB 自动关联到您的 Firebase 项目和 Google Play 开发者账号,请确保满足以下要求:
您的 Google Play 开发者账号具有以下任一访问权限级别 :Owner 或 Admin。
对于 Firebase 项目,您具有以下任一角色:Owner 或 Firebase Admin 。
您的应用已在 Firebase 和您的 Google Play 开发者账号中注册。这意味着您会同时拥有一个 Firebase Android 应用和一个 Google Play 应用。
Google Play 中的应用和 Firebase Android 应用均使用同一软件包名称进行注册。
Google Play 中的应用在应用信息中心内设置 ,并发布到某个 Google Play 轨道(内部测试、封闭式测试、开放式测试或正式版)。
该应用在 Google Play 中的审核已完成,且已发布。如果 “应用状态”列显示以下任一状态,则表明您的应用已发布:内部测试(非草稿内部测试)、封闭式测试、开放式测试或正式版。
如果您上传的应用之前不符合上文所列的关联条件,但现在符合,那么您可以重新尝试将 Firebase Android 应用与 Google Play 关联 。
安装和测试应用
请按照以下提示排查测试人员在安装和测试应用时可能会遇到的问题。
测试人员没有 Google 账号
用户创建 Google 账号后,便会自动收到 Gmail 地址。
如果测试人员没有 Google Workspace 或 Gmail 地址,或者他们更希望使用其他电子邮件地址登录,请让测试人员将非 Gmail 电子邮件地址与账号关联,并使用该电子邮件地址进行登录。
选择备用电子邮件地址时,测试人员必须遵循以下指南:
不使用 Gmail 地址。
请勿使用已与其他 Google 账号相关联的电子邮件地址。
在使用此电子邮件地址登录时,请务必使用您的 Google 账号密码。
如需了解详情,请参阅使用其他电子邮件地址登录您的 Google 账号 。
测试人员看不到正确的应用或 build
如果测试人员接受邀请时使用的电子邮件地址不同于收到邀请的电子邮件地址,测试人员可能无法看到所需的应用或 build。
接收开发者发送的邀请和添加到新 build 的电子邮件地址(电子邮件 A)可能与测试人员用于接受邀请的电子邮件地址(电子邮件 B)不同。这种情况下,系统会在后台创建一个链接。每当电子邮件 A 添加到新 build 时,实际上是电子邮件 B 获得了访问权限。
如果测试人员使用其他电子邮件地址接受电子邮件邀请,请按照以下步骤解决此问题:
从 Firebase 控制台的 App Distribution 页面中,从测试人员和群组 标签页的查看所有测试人员 部分中删除测试人员。现有邀请会被移除。
重新邀请测试人员测试您的应用。测试人员应该会收到一封邀请电子邮件。
请确保测试人员使用同一电子邮件地址接受邀请。
测试人员收不到电子邮件通知
如果出现以下任一情况,测试人员可能不会收到电子邮件通知:
解决方案 1
让测试人员检查他们的垃圾邮件文件夹以及他们在其电子邮件服务中设置的任何电子邮件过滤器。
如果测试人员退订了电子邮件,请让其执行以下操作:
查找测试人员之前通过应用收到的电子邮件。
点击底部的管理电子邮件设置 ,然后点击允许发送电子邮件 以重新订阅。
解决方案 2
如果测试人员不想收到电子邮件通知,但希望能够接受应用邀请,他们可以直接在 App Tester 应用中查看待处理的应用邀请(下载说明 )。
注意 :如需查看待处理的应用邀请,测试人员用于登录 App Tester 应用的 Google 账号的电子邮件地址必须与开发者邀请的收件人电子邮件地址一致。
解决方案 3
从 Firebase 控制台的 App Distribution 页面中,从测试人员和群组 标签页的查看所有测试人员 部分中删除测试人员。此操作会移除现有邀请。
重新邀请测试人员测试您的应用。测试人员应该会收到一封邀请电子邮件。请确保测试人员使用收到邀请的同一电子邮件地址来接受邀请。
应用未指示已安装此应用
如果测试人员下载并安装某个版本,但应用详情界面未显示该应用已安装,那么此问题属于已知问题。在某些情况下,Firebase 应用中的软件包 ID 与 APK 的软件包 ID 不匹配。
验证 APK 的软件包 ID 是否与您用于上传发行版的 Firebase 应用的软件包 ID 一致。
Android 提醒消息指出,我的设备无法安装未知应用
如果您运行的应用或浏览器尚未获得在 Google Play 之外安装应用的权限,您会看到 Android 提醒。要授予权限,请执行以下操作:
测试 APK 安装失败
如果未能在测试人员的设备上安装测试 APK:
验证新版本中的证书是否与测试人员设备上安装的版本中的证书一致。Android 系统只允许在证书匹配的情况下更新应用。如需了解详情,请参阅签名注意事项 。
确保应用支持测试人员设备的操作系统版本(请检查 minSdkVersion
)。
无法登录 Android App Tester 应用
如果 App Tester 应用阻止您登录并将您重定向回登录屏幕,那么您可能使用了包含限制设置的 Google Workspace(以前称为 G Suite)。
如需移除限制设置,请执行以下操作:
在 Google Workspace 的应用 标签页 中,请确保 Firebase App Distribution 未 设置为访问:已屏蔽 。
在服务 标签页 中,确保 Cloud Platform 不受限制。
移除设置后,请尝试重新登录。
安装 AAB 时出错:“无法安装应用”
当正在安装的应用与设备上已安装的应用发生冲突时,可能会发生此错误。例如,它可能是同一应用具有相同自定义权限 或 ContentProvider 名称 的不同变体。
您可以在出现问题后立即让测试人员收集 bug 报告 ,并检查报告以详细了解原因。测试人员必须先删除任何有冲突的应用,然后才能安装新应用。
在新的 Android 设备上测试
如果您是新测试人员,请参阅测试人员设置指南 。
如果您是现有的 App Distribution 测试人员,并且有了新的 Android 设备供测试,请按以下步骤操作(而不是再次执行整个新测试人员流程):
在 Android 设备上,前往 appdistribution.firebase.google.com 。
使用您现有的测试人员账号登录,然后点击屏幕底部的下载 App Tester 按钮,以安装 Android App Tester 应用。
使用 App Distribution Android SDK 启用测试人员功能
请按照以下提示,排查使用 App Distribution Android SDK 启用应用内新 build 提醒或提交应用内反馈时发生的问题。
测试人员无法在应用中启动反馈
如果您已在应用中设置 App Distribution Android SDK 以支持应用内反馈,但测试人员无法提交反馈,请按以下步骤操作:
在应用中为 App Distribution Android SDK 启用详细日志记录:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
通过过滤“FirebaseAppDistribution”,检查应用日志中的错误消息。
确认测试人员是否有权访问已安装的版本:
如果日志表明“测试人员无权访问此资源”,则说明您的测试人员可能尚未受邀参与应用测试,或者可能没有权限访问相应版本。
在 Firebase 控制台的 App Distribution 信息中心内,了解在测试人员设备上运行的确切版本,并确保测试人员列在版本卡片上的测试人员 标签页中并且处于“已接受”状态。
如果您仍未收到反馈,请按以下步骤操作:
在测试设备上,使用 App Tester 或测试人员 Web 应用登录 Firebase App Distribution 。请务必选择您最初在接受测试应用邀请时使用的 Google 账号。
使用 App Tester 或测试 Web 应用重新安装应用,以确保测试人员有权访问该版本。
尝试提交反馈,再次确保使用相同的 Google 账号登录。
确保您已启用 Firebase App Tester API。如需了解详情,请参阅启用 App Distribution Tester API 。
在密钥限制 下,确保 Firebase API Testers API 包含在允许的 API 列表中。
收不到在应用中提交的反馈
如果您在提交反馈时看到以下消息:“本应发送反馈,但由于开发模式的原因而没有发送反馈”,请通过运行以下命令来停用设备上的开发者模式 :
adb shell setprop debug.firebase.appdistro.devmode false
检查您的 google-services.json
文件,确保您针对正确的项目和应用提交反馈。
在应用中为 App Distribution Android SDK 启用详细日志记录:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
通过过滤“FirebaseAppDistribution”,检查应用日志中的错误消息。
测试人员收不到应用内提醒
如果您已在应用中设置了 App Distribution Android SDK,但测试人员收不到应用内提醒,请按以下步骤操作:
通过将 OnFailureListener
附加到 Firebase App Distribution API 返回的任务,查看错误消息。
Java
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> {
if (e instanceof FirebaseAppDistributionException) {
// Log exception here
}});
Kotlin
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
// Log exception here
}
}
检查确认测试人员有权访问新版本:
在您的应用中启用调试模式。如需了解具体操作方法,请参阅 Google Analytics 文档 。
在模拟器中运行您的应用,然后搜索字符串“FirebaseAppDistribution”。
如果日志表明未找到版本,或者测试人员没有访问权限,则说明您的测试人员可能尚未关联至新版本。
在 Firebase 控制台的 App Distribution 信息中心内,确保您的 build 分发中包含该测试人员,并且该测试人员处于已接受 状态。
如果测试人员仍未收到提醒,请让他们按照以下提示操作,确保他们已接受您的应用测试邀请,并且已正确设置测试设备:
在测试设备上,通过 App Tester 或测试人员 Web 应用登录 Firebase App Distribution。切记,请选择您最初在接受应用测试邀请时使用的 Google 账号。
检查以确保 App Tester 或测试人员 Web 应用中提供了新的应用版本。
测试人员在关闭应用后收到再次登录的提醒
默认情况下,您的测试人员只需登录其 Google 账号一次,即可启用测试功能。如果测试人员在关闭并重新打开应用后,系统提示其再次登录,请按照以下提示操作,以确保正确设置 App Distribution 的配置:
确认您已启用 Firebase App Testers API。如需了解详情,请参阅启用 App Distribution Tester API 。
在密钥限制 下,确保 Firebase API Testers API 包含在允许的 API 列表中。
如果您通常在退出时清除 SharedPreferences,那么可能是您清除了测试人员的状态。App Distribution 会存储一个标记,指示测试人员是否已登录应用。如需了解详情,请参阅 GitHub 代码库 。
常见问题解答
向我的应用添加测试人员是否会受到限制?
Firebase App Distribution 具有以下测试人员限制:
如需添加更多测试人员,请申请免费提高限额 。
我的测试人员邀请会过期吗?
在邀请到期前,测试人员有 30 天的时间来接受测试应用的邀请。
当邀请距离到期还有 5 天的时候,Firebase 控制台会在相应版本的测试人员旁边显示到期通知。您可以使用测试人员对应行中的下拉菜单重发邀请来重新开始邀请测试人员。
应用版本可以使用多长时间?
如果出现以下任一情况,系统会从 App Distribution 中移除应用版本:
应用版本已超过 150 天。
您超过了 1000 个应用版本限制,并且应用版本早于最近的 1000 个应用版本。
如需了解详情,请参阅 App Distribution 最多支持 1000 个版本 。
当应用达到或超过 150 天到期限制或 1000 个版本限制后,系统将从 App Distribution 信息中心和 Firebase App Tester 应用中移除该版本。如果您的测试人员已安装该版本,则应用的本地版本会继续运行。
如需将应用版本保留更长的时间,请采用以下某个建议:
在应用版本到期或超出版本数量限制之前,请下载 APK 或 AAB,然后从 App Distribution 信息中心删除该版本。然后,将新 APK 或 AAB 作为新 build 重新上传到 App Distribution 。
下载此版本并将其上传到 Cloud Storage 进行长期归档。
应用版本将在 150 天后过期
当您将应用版本上传到 Firebase 后,该版本会在 App Distribution 信息中心 中显示 150 天(从上传之日算起)。上传版本后,您可以将其分发给测试人员,以便测试人员在测试设备上安装 Firebase App Tester 应用中的版本。
当应用版本距离到期日还有 30 天时,Firebase App Tester 应用中的版本上会显示应用版本到期通知。
App Distribution 最多支持 1000 个版本
App Distribution 允许每个应用最多可以有 1000 个版本。当您的应用达到 1000 个应用版本数量限制时,App Distribution 会自动删除超出此限制的最早版本。
如果您要手动管理应用版本,请使用 App Distribution REST API 列出 和批量删除 应用版本。
如果您有任何疑问,请与 Firebase 支持团队 联系。
自动化测试助手功能是否有配额限制?
Firebase App Distribution 使用 Firebase Test Lab 基础架构,其配额限制和价格相同。测试配额按每天运行的测试次数来计量。如需详细了解测试配额和结算,请参阅 Test Lab 的用量水平、配额和价格 。
自动化测试助手功能的配额重试限制是多少?
如果超出配额,您将收到超出配额错误。配额大约需要 24 小时才能重置,因此在释放配额之前,您应避免重试。但是,如果您收到与自动化测试助手基础架构相关的错误,若立即重试,调用成功的可能性更高。
运行自动化测试助手 Beta 版功能需要哪些权限?
您需要拥有 Firebase 项目的 Editor 访问权限,才能使用自动化测试助手功能运行测试。
如何删除测试人员账号?
如需删除您的 App Distribution 测试人员账号及其相关数据,请按顺序执行以下步骤:
访问 https://appdistribution.firebase.google.com 并使用您的 Google 账号登录。
点击右上角的 settings (管理账号 )
删除账号 。
可选:在 Google 账号权限 中,针对 Firebase App Distribution 撤消账号的访问权限。请注意,如果在未先删除 App Distribution 账号的情况下撤消访问权限, 就不会删除您的测试人员账号或数据。