更改Firebase包名称

时间:2016-10-23 08:56:43

标签: android firebase firebase-authentication

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

Error:Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name '<Package Name>'

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

3 个答案:

答案 0 :(得分:22)

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

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

defaultConfig {
    applicationId "com.firebase.hearthchat"

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

答案 1 :(得分:2)

如果您使用的是Firebase助手:

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

另请注意,会考虑build.gradle文件中{{1}}值的包名称。

干杯

答案 2 :(得分:-2)

有一个更好的方法可以解决此问题。该错误可能是由于您的app文件夹中有一个GoogleService Json文件造成的,您所要做的就是;尝试在app文件夹下找到google-service.json文件,然后将package_Id更改为您创建的新package_id;保存,执行“清理并重建项目”,您的问题将得到解决。希望这会帮助你。这个对我有用。如果这对您有所帮助,您也可以投票。谢谢