更改Firebase包名称

Faj*_*han 15 android firebase firebase-authentication

我有一个与Firebase集成的Google Sign-In应用.我最近更改了应用包名称以用于发布目的.现在正在运行抛出此错误:

Error:Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name '<Package Name>'
Run Code Online (Sandbox Code Playgroud)

因此我猜测Firebase无法识别具有新软件包名称的应用程序.如何更改Firebase包名称.我已经通过Firebase控制台但找不到任何更改的包设置.或者有没有什么好方法来实现这一点,而不是再次使用包名和代码创建新项目?任何帮助,将不胜感激.

Fra*_*len 26

正如Eurosecom评论的那样,您只需使用新的软件包名称向现有的Firebase项目添加新的Android应用程序即可.完成此操作后,请下载更新后的google-services.json并将其添加到您的应用中.

请注意,Firebase不使用Java代码中的实际包名,而是使用应用程序的build.gradle文件中的applicationId:

defaultConfig {
    applicationId "com.firebase.hearthchat"
Run Code Online (Sandbox Code Playgroud)

最初在Android Studio中创建项目时,包名称和应用程序ID将具有相同的值.但是,如果您将代码重构为不同的包,则不会更新应用程序ID.这就解释了为什么应用程序将在重构之后继续工作.但它有时会令人困惑,这就是为什么我更喜欢让它们保持同步.

  • 您是否需要重新添加所有 SHA1 密钥和其他内容?或者我只是完全按照你所做的去做? (2认同)
  • 与该问题相关,是否可以为 Google Sign-In 提供某种通配符包名称?因为我在想,如果我需要在一个月内提交 100 个具有 Google 登录功能的应用程序,我不想在 Firebase 控制台上创建 100 个应用程序。你们能不能为此想点什么?提前致谢 (2认同)

San*_*waj 9

如果您使用 Firebase 助手,则:

  • 在 Firebase 控制台的项目设置中删除您的应用。
  • 返回 Firebase 助手,重新连接到 Firebase 以获取任何服务。
  • 它会要求您与项目同步。单击同步。
  • 带有新包的应用程序将被添加,google-services.json文件将自动更新。

另请注意,文件中applicationId值的包名也build.gradle被考虑在内。

干杯