You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 16下Credential Manager谷歌登录报DEVELOPER_ERROR问题求助

问题诊断与解决方案

针对Android 16设备上Credential Manager结合Firebase Auth登录失效、应用冻结并抛出SecurityException: Unknown calling package name 'com.google.android.gms'的问题,结合你已排查的常规配置,给出以下针对性排查点:

1. 升级Credential Manager相关依赖版本

Android 16作为较新的系统版本,旧版androidx.credentials库可能存在适配缺陷。确保使用最新稳定版依赖:

implementation("androidx.credentials:credentials:1.2.2")
implementation("androidx.credentials:credentials-play-services-auth:1.2.2")

同步升级Firebase Auth依赖至最新稳定版,避免版本不兼容。

2. 验证Google Play Services版本兼容性

你当前使用的Play Services 26.18.33可能存在Android 16适配bug,尝试:

  • 将设备上的Google Play Services更新至最新版本(通过Google Play商店)
  • 若更新后问题仍存在,回退到26.17.x系列的稳定版本测试

3. 检查Nonce生成逻辑

确保generateSecureRandomNonce()生成的随机串符合要求:

  • 长度至少16字节
  • 使用Base64 URL安全编码(无填充)
    示例正确实现:
private fun generateSecureRandomNonce(): String {
    val nonceBytes = ByteArray(16)
    SecureRandom().nextBytes(nonceBytes)
    return Base64.encodeToString(nonceBytes, Base64.URL_SAFE or Base64.NO_PADDING)
}

4. 补充AndroidManifest配置

添加Google Play Services版本元数据声明,避免版本校验失败:

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

同时确认已声明INTERNET权限(登录流程必须):

<uses-permission android:name="android.permission.INTERNET" />

5. 调整Credential Manager调用逻辑

尝试在GetGoogleIdOption中添加setAutoSelectEnabled(false),避免自动选择逻辑在Android 16上触发异常:

val googleIdOption = GetGoogleIdOption.Builder()
    .setFilterByAuthorizedAccounts(false)
    .setServerClientId(BuildConfig.GOOGLE_CLIENT_ID)
    .setNonce(generateSecureRandomNonce())
    .setAutoSelectEnabled(false)
    .build()

同时确保调用Credential Manager时使用Activity上下文而非Application上下文,避免上下文权限问题。

6. 排查应用签名配置

虽然已添加SHA-1/SHA-256到Firebase,仍需确认debug/release构建使用的签名文件与Firebase后台配置完全一致。可通过以下命令重新获取当前构建的签名指纹:

keytool -list -v -keystore your-keystore-path.jks -alias your-alias

对比Firebase后台的指纹是否完全匹配。

已知问题参考

目前Google Play Services 26.18.x系列在部分Android 16设备上存在Credential Manager相关兼容性问题,已有开发者反馈类似Unknown calling package name异常,Google正在跟进修复。若上述方案均无效,可暂时回退到26.17.x版本的Play Services作为临时解决方案。

内容的提问来源于stack exchange,提问作者Rostyslav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 06:12:28