任务“:app:processReleaseGoogleServices”的执行失败。>找不到与包名称匹配的客户端。

18

每次尝试构建我的项目时,我都会收到这个错误:

Execution failed for task ':app:processReleaseGoogleServices'.
No matching client found for package name 'com.my.package'

我已经创建和再次创建了google-services.json文件,并使用了应用程序和包com.my.package

这是我的项目build.gradle文件:

buildscript {
  repositories {
    ...
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:2.0.0-beta6'
    classpath 'com.github.JakeWharton:sdk-manager-plugin:220bf7a88a7072df3ed16dc8466fb144f2817070'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    classpath 'io.fabric.tools:gradle:1.+'
    classpath 'com.newrelic.agent.android:agent-gradle-plugin:4.265.0'
    classpath 'com.google.gms:google-services:2.0.0-alpha9'
  }
}
allprojects {
  repositories {
    ...
  }
}
// Define versions in a single place
ext {
  supportLibraryVersion = '23.2.0'
  playServicesVersion = '8.4.0'
}

这是我的应用构建文件 build.gradle:

  apply plugin: 'android-sdk-manager'
  apply plugin: 'com.android.application'
  apply plugin: 'io.fabric'
  apply plugin: 'newrelic'
  apply plugin: 'com.neenbedankt.android-apt'

  android {
    packagingOptions {
      exclude 'LICENSE.txt'
      exclude 'META-INF/LICENSE'
      exclude 'META-INF/LICENSE.txt'
      exclude 'META-INF/NOTICE'
      exclude 'META-INF/services/javax.annotation.processing.Processor'
    }

    dexOptions {
      jumboMode true
    }

    lintOptions {
      disable 'InvalidPackage'
      abortOnError false
    }

    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
      applicationId "com.my.package"
      minSdkVersion 15
      targetSdkVersion 23
    }

    buildTypes {
      debug {
        applicationIdSuffix '.debug'
        versionNameSuffix '-DEBUG'
        ...
      }

      staging {
        applicationIdSuffix '.staging'
        versionNameSuffix '-STAGING'
        ...
      }

      release {
        ...
      }
    }
  }

  dependencies {
    compile "com.android.support:support-v4:$rootProject.supportLibraryVersion",
            "com.android.support:support-annotations:$rootProject.supportLibraryVersion",
            "com.android.support:percent:$rootProject.supportLibraryVersion",
            "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion",
            "com.android.support:mediarouter-v7:$rootProject.supportLibraryVersion",
            "com.google.android.gms:play-services-base:$rootProject.playServicesVersion",
            "com.google.android.gms:play-services-cast:$rootProject.playServicesVersion",
            "com.google.android.gms:play-services-gcm:$rootProject.playServicesVersion",
            "com.google.android.gms:play-services-analytics:$rootProject.playServicesVersion",
            ...
            'com.newrelic.agent.android:android-agent:4.265.0',
            'com.android.support:multidex:1.0.0'
    compile 'com.squareup.dagger:dagger:1.2.1'
  }

  apply plugin: 'com.google.gms.google-services'

我已经多次按照这里的说明进行操作。 我也在使用我的发布配置,因此应用程序ID后缀不应该是问题。 另外,com.my.pacakage只是我包名称的替代。我该怎么解决这个问题?

6个回答

11

您需要为所有风味(发布和开发等)提供google-services.json

单个google-services.json可以具有所有风味的json/data。前往Google开发者控制台并重新生成google-services.json文件

更新

您还可以为不同的风味创建单独的google-services.json文件

https://developers.google.com/android/guides/google-services-plugin


4
谷歌刚刚在play服务插件2.0版本中添加了对flavors的支持。自从这个gradle插件版本(com.google.gms:google-services:2.0.0-alpha9)以来,你可以这样做。
你可以这样做。

enter image description here

如需更多详细信息,请查看下面的链接。 如果您想了解此插件对这些json文件执行的操作的更多详细信息,请点击这里

链接到官方文档:

并在此处检查此插件的最新版本:

参考链接。


3
在我的情况下,它解决了我的问题。
      ...  
 "client": [
        {
          "client_info": {
            "mobilesdk_app_id": "yourid",
            "android_client_info": {
              "package_name": "ru.example.app"
            }
          },
       ...

package_name应该与applicationId相同

        defaultConfig {
                applicationId "ru.example.app"
                minSdkVersion 15
                targetSdkVersion 23
                ...
    }

1
问题实际上是由于NewRelic引起的,而不是我的配置问题。我移除了它,并遵循这个答案,因为我正在使用BuildTypes。现在它已经按预期编译了。

什么是NewRelic? - Jaydev

0
可能有点晚了,但我遇到了类似的问题。
当我最初将我的应用连接到Firebase分析时,出现了一个问题,它只识别了我的“debug”版本。
我不得不登录Firebase,进入控制台,选择相关项目,然后手动添加额外的“release”版本。
然后我重新在Android Studio中连接到Firebase(它会自动更新并下载来自Firebase的json文件到Studio),重新编译我的应用程序,然后问题就解决了。

0

我刚遇到了类似的问题,后来发现是因为我重命名了我的应用程序并更改了我的Bundle ID,但没有重新运行。

flutterfire configure

因为我正在使用Firebase云存储。重新配置应用程序会重新创建google-services.json文件并解决我的问题,然后我可以重新运行:

flutter build appbundle

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