我有一个与Firebase集成的Google登录应用。我最近更改了应用包名称以用于发布目的。现在正在运行抛出此错误:
Error:Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name '<Package Name>'
所以我猜测Firebase无法识别具有新软件包名称的应用程序。如何更改Firebase包名称。我已经通过Firebase控制台,但无法找到任何更改的包设置。或者有没有什么好方法来实现这一点,而不是再次使用包名和代码创建新项目?任何帮助将不胜感激。
答案 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助手:
applicationId
文件将自动更新。另请注意,会考虑build.gradle
文件中{{1}}值的包名称。
干杯
答案 2 :(得分:-2)
有一个更好的方法可以解决此问题。该错误可能是由于您的app文件夹中有一个GoogleService Json文件造成的,您所要做的就是;尝试在app文件夹下找到google-service.json文件,然后将package_Id更改为您创建的新package_id;保存,执行“清理并重建项目”,您的问题将得到解决。希望这会帮助你。这个对我有用。如果这对您有所帮助,您也可以投票。谢谢