应用插件时出错:'com.google.gms.google-services'

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

我按照 google 文档将我的应用程序集成到 Google Analytics。 但是当添加

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

在构建我的应用程序时,我遇到了这个错误:

Error:(49, 0) For input string: "+"

这些是我在我的应用程序 build.gradle 中使用的设置:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId "com.myapp.xyz"
        manifestPlaceholders = [
            manifestApplicationId : "${applicationId}",
            onesignal_app_id : "ccd48c54-2069-41f9-8ff7-54c7a12f2d18a",
            onesignal_google_project_number: "306632981237"
        ]
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
            'proguard-rules.pro'
        }
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    // compile 'com.android.support:appcompat-v7:22.2.1'
    compile project(':facebook')
    compile 'com.android.support:design:22.2.1'
    compile 'com.android.support:palette-v7:22.2.1'
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.onesignal:OneSignal:1.+@aar'
    compile 'com.google.android.gms:play-services-gcm:+'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.google.android.gms:play-services-analytics:8.4.0'
}
apply plugin: 'com.google.gms.google-services'

这些是 build.gradle 应用程序中的设置:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'com.google.gms:google-services:2.0.0-alpha6'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

首先你应该打电话给

    dependencies {
    classpath 'com.android.tools.build:gradle:1.5.0'
    classpath 'com.google.gms:google-services:2.0.0-alpha2'
}

不要(避免调用 +

compile 'com.google.android.gms:play-services-gcm:+'
     compile 'com.google.android.gms:play-services:8.4.0'

     compile 'com.google.android.gms:play-services:8.4.0'

替换行 compile 'com.google.android.gms:play-services-gcm:+'

与以下 compile 'com.google.android.gms:play-services-gcm:8.4.0'

在应用程序 build.gradle 文件中。

需要在两个gradle中输入以下条目:

  1. 将以下内容添加到@project 级别 gradle 文件中:

    classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.google.gms:google-services:3.0.0'
    
  2. 将以下内容添加到@app 级别 gradle 文件:

    // Dependency for Google Sign-In
    compile 'com.google.android.gms:play-services-auth:9.4.0'
    
  3. 添加插件:

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

将以下内容添加到@project 级别 gradle 文件中:

    classpath 'com.android.tools.build:gradle:2.3.0'
    classpath 'com.google.gms:google-services:3.0.0'

正如许多人所说,我在项目级别 gradle 中添加了“类路径 'com.google.gms:google-services:3.0.0'”。

但是,我遇到了另一个错误 "File google-services.json is missing from module root folder."。 最终,我需要通过以下 link 来建立一个项目。 https://developers.google.com/mobile/add?platform=android

设置项目后,我进入了 Firebase 控制台。在该页面中,我能够下载 google-service.json 文件,这对于解决此问题至关重要。

将 JSON 文件拖放到项目的“/app”文件夹下。

我花了一个小时才弄明白。 我希望它对某人有帮助。

我确实遇到了这个问题,以下解决了它。转到平台>android>project.properties 并编辑行

cordova.system.library.5=com.google.android.gms:play-services-auth:+
cordova.system.library.6=com.google.android.gms:play-services-identity:+

cordova.system.library.5=com.google.android.gms:play-services-auth:11.0.1
cordova.system.library.6=com.google.android.gms:play-services-identity:11.0.1

据说# Do not modify this file -- YOUR CHANGES WILL BE ERASED! 但这解决了我的问题

更改 project.properties 中的以下代码:

cordova.system.library.2=com.google.android.gms:play-services-gcm:+
cordova.system.library.3=com.google.android.gms:play-services-location:+

cordova.system.library.2=com.google.android.gms:play-services-gcm:11.0.1
cordova.system.library.3=com.google.android.gms:play-services-location:11.0.1

并将 google-service.json 文件添加到应用程序模块

有时候,你必须更新你的REALM-PLUGIN,你需要在Top-Level Gradle (Project:Gradle), 复制粘贴到“classpath”行:

buildscript {
  ... 
  dependencies {
    classpath 'io.realm:realm-gradle-plugin:7.0.0' //<--Your answer.
  }
}

你把line apply plugin: 'com.google.gms.google-services' 放在第0 行和第49 行两次只需删除一行