任务“:app:processReleaseGoogleServices”执行失败。 > 找不到与包名称匹配的客户端
Execution failed for task ':app:processReleaseGoogleServices'. > No matching client found for package name
每当我尝试构建我的项目时,我都会收到此错误:
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'
我已经按照说明 here 进行了多次操作。我也在使用我的发布配置,因此 applicationIdSuffix 没有任何理由成为问题。另外,com.my.pacakage 只是我的 pacakge 名称的替代。我该怎么做才能解决这个问题?
您需要为所有 flavor(发布和开发等)提供 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
Google 刚刚在播放服务插件的 2.0 版中包含了对 flavors 的支持。由于这个版本的 gradle 插件 com.google.gms:google-services:2.0.0-alpha9
你可以做到这一点
更多详情请阅读下方link。
如果您想了解有关此插件如何处理这些 json 文件的更多详细信息,here it is:
然后到这里查看 this plugin 的最新版本:
问题实际上出在 NewRelic 上,而不是我的配置上。当我使用 BuildTypes 时,我将其删除并遵循 。现在它按预期编译。
就我而言,它解决了我的问题
...
"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
...
}
可能有点晚了,但我遇到了类似的问题。
它发生在我最初将我的应用程序连接到 Firebase 分析时出于某种原因它只选择了我的 "debug" 风格。
我必须登录 Firebase,转到控制台和 select 相关项目,然后手动添加额外的 "release" 风格。
然后我在 Android Studio 中重新连接到 Firebase(它会自动更新 json 文件并将其从 Firebase 下载到 Studio 中),重新编译我的应用程序并成功运行。
每当我尝试构建我的项目时,我都会收到此错误:
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'
我已经按照说明 here 进行了多次操作。我也在使用我的发布配置,因此 applicationIdSuffix 没有任何理由成为问题。另外,com.my.pacakage 只是我的 pacakge 名称的替代。我该怎么做才能解决这个问题?
您需要为所有 flavor(发布和开发等)提供 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
Google 刚刚在播放服务插件的 2.0 版中包含了对 flavors 的支持。由于这个版本的 gradle 插件 com.google.gms:google-services:2.0.0-alpha9
你可以做到这一点
更多详情请阅读下方link。 如果您想了解有关此插件如何处理这些 json 文件的更多详细信息,here it is:
然后到这里查看 this plugin 的最新版本:
问题实际上出在 NewRelic 上,而不是我的配置上。当我使用 BuildTypes 时,我将其删除并遵循
就我而言,它解决了我的问题
...
"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
...
}
可能有点晚了,但我遇到了类似的问题。
它发生在我最初将我的应用程序连接到 Firebase 分析时出于某种原因它只选择了我的 "debug" 风格。
我必须登录 Firebase,转到控制台和 select 相关项目,然后手动添加额外的 "release" 风格。
然后我在 Android Studio 中重新连接到 Firebase(它会自动更新 json 文件并将其从 Firebase 下载到 Studio 中),重新编译我的应用程序并成功运行。