Android Studio重命名包后,出现“找不到匹配的客户端”的错误。

38

我按照下面的链接重命名了包名。 重命名后,当我尝试在android studio中构建项目时,出现以下错误:

Android Studio重命名包名

错误:执行任务“:app:processDebugGoogleServices”失败。 没有找到与包名“com.example.app”匹配的客户端。

7个回答

90
你已经向项目添加了 Google Play 服务插件,该插件读取你的应用模块中找到的 google-services.jsongoogle-services.json 包含服务配置数据,例如Google项目ID,应用程序包名称等。
由于应用程序包名称也存储在该 json 中,因此它将不再匹配,因此您必须在 Firebase 控制台中创建一个新应用程序,并导出新的配置 json。
然后使用生成的 json 替换项目中的 google-services.json

谢谢,我在你回答之前已经找到了问题,但还是非常感谢你的回答,希望它对一些用户有用。 - Sai
刚刚发现你可以直接从Android Studio集成Firebase,而且google.json文件会自动生成。 - Mwongera808
@DanielZolnai,那我是否需要更改其他内容,例如AdminSDK密钥等等? - payne
抱歉,我不知道,我以前没有使用过Admin SDK。如果SDK的配置在同一个服务JSON文件中,那可能不行。 - Daniel Zolnai

8

当我重命名我的包时,遇到了同样的问题。我从Firebase控制台创建了一个新的Firebase项目,并从Firebase控制台下载了新的google-services.json文件,用它替换了旧文件,但仍然收到相同的错误。然后我检查了我的build.gradle (App)文件,发现它仍然是以前的包名,所以我将其重命名为新的包名,然后问题得到解决。


1
在Firebase中查找包和创建的项目名称必须相同。

0
请检查 build.gradle(app) 文件中的 applicationId。在重命名包名称后,它不会自动更改。因此,请使用新的包名称进行重命名。
android {
    compileSdkVersion 28
    defaultConfig {
        **applicationId "new package name"**
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

0
最近我也遇到了这个问题,不知道是 Google-services.json 文件发生了变化还是我的 Git 不小心修改了它。
现在,Google-services.json 文件需要包含所有构建变体的软件包 ID 的客户端详细信息。
如果你和我一样,在正确的文件夹中放置了 Google-services.json 文件,并且仍然遇到了这个错误,请检查一下 Google-services.json 文件。

-1
此外,请确保您的应用目录或app/src/debug(实际上是buildType目录)中没有旧的google-services.json文件。

-1

我遇到了同样的问题。我已经更改了包名和应用程序ID,并将所有类文件重构为新文件。但是我忘记将新的包名更改为google-services.json。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接