web-dev-qa-db-ja.com

タスク ':app:processReleaseGoogleServices'の実行に失敗しました。 >パッケージ名に一致するクライアントが見つかりません

プロジェクトをビルドしようとすると、次のエラーが発生し続けます。

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'

私は指示に従いました ここ 数回。私もリリース構成を使用しているので、applicationIdSuffixが問題になる理由はありません。また、com.my.pacakageは、私のpacakge名の代用にすぎません。この問題を解決するにはどうすればよいですか?

6
MrEngineer13

問題は実際には私の設定ではなくNewRelicにありました。私はそれを削除し、BuildTypesを使用していたので この回答 に従いました。これで、期待どおりにコンパイルされます。

0
MrEngineer13

すべてのフレーバー(リリースと開発など)にgoogle-services.jsonを提供する必要があります

単一のgoogle-services.jsonは、すべてのフレーバーのjson/dataを持つことができます。 Google Developers Consoleに移動し、google-services.jsonファイルを再生成します

更新

フレーバー用に個別のgoogle-services.jsonファイルを作成することもできます

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

5
user4774371

Googleは、Play開発者サービスプラグインのバージョン2.0のフレーバーのサポートを含めました。このバージョンの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
                ...
    }
2

おそらく少し遅れましたが、私も同様の問題を抱えていました。

これは、何らかの理由でアプリをFirebaseアナリティクスに最初に接続したときに発生し、「デバッグ」フレーバーしか取得しませんでした。

Firebaseにログインし、コンソールに移動して関連するプロジェクトを選択してから、手動で「リリース」フレーバーを追加する必要がありました。

次に、Android Studio(FirebaseからStudioにjsonファイルを自動的に更新してダウンロード)でFirebaseに再接続し、アプリを再コンパイルして動作しました。

0
gregrobinz