代码之家  ›  专栏  ›  技术社区  ›  Saeid

找不到参数[com.google.android.gms:play services base:16.0.1]的方法实现()

  •  0
  • Saeid  · 技术社区  · 7 年前

    这个问题似乎是重复的,但我正在尝试将react native firebase添加到我的android项目中,但当我尝试运行该项目时,我遇到了一个著名的错误:

    找不到参数的方法实现() org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler。

    我搜索了很多,但我找到的所有解决方案都不适合我。 这是我的身材。格雷德尔: //顶级生成文件,您可以在其中添加所有子项目/模块通用的配置选项。

    buildscript {
        ext {
            buildToolsVersion = "27.0.3"
            minSdkVersion = 16
            compileSdkVersion = 27
            targetSdkVersion = 26
            supportLibVersion = "27.1.1"
        }
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.0'
            classpath 'com.google.gms:google-services:4.2.0'
            // This should be here already
            implementation project(':react-native-firebase')
    
            // Firebase dependencies
            implementation "com.google.android.gms:play-services-base:16.0.1"
            implementation "com.google.firebase:firebase-core:16.0.6"
    
            implementation "com.google.firebase:firebase-firestore:17.1.5"
    
            implementation "com.google.firebase:firebase-ads:15.0.1"
            implementation "com.google.firebase:firebase-auth:16.1.0"
    
            implementation 'me.leolin:ShortcutBadger:1.1.21@aar'
            implementation "com.google.firebase:firebase-messaging:17.3.4"
            implementation "com.google.firebase:firebase-database:16.0.5"
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
            //classpath 'com.google.gms:google-services:3.2.0'
    
        }
        apply plugin: 'com.google.gms.google-services'
    
    }
    
    allprojects {
        repositories {
            mavenLocal()
            google() // <-- Add this line above jcenter
            jcenter()
            maven {
                // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
                url "$rootDir/../node_modules/react-native/android"
            }
        }
    }
    
    
    task wrapper(type: Wrapper) {
        gradleVersion = '4.4'
        distributionUrl = distributionUrl.replace("bin", "all")
    }
    

    {
      "name": "xxx",
      "version": "x.0.x",
      "private": true,
      "scripts": {
        "start": "node node_modules/react-native/local-cli/cli.js start",
        "test": "jest"
      },
      "dependencies": {
        "react": "16.6.3",
        "react-native": "0.57.8",
        "react-native-animatable": "^1.3.1",
        "react-native-firebase": "^5.2.0",
        "react-native-i18n": "^2.0.15",
        "react-native-linear-gradient": "^2.5.3"
      },
      "devDependencies": {
        "babel-jest": "23.6.0",
        "jest": "23.6.0",
        "metro-react-native-babel-preset": "0.51.1",
        "react-test-renderer": "16.6.3"
      },
      "jest": {
        "preset": "react-native"
      }
    }
    

    你能帮我找出问题所在吗。提前谢谢

    1 回复  |  直到 7 年前
        1
  •  2
  •   Salakar    7 年前
            classpath 'com.android.tools.build:gradle:3.2.0'
            classpath 'com.google.gms:google-services:4.2.0'
    

    除其他事项外;这些需要在你的项目中 build.gradle (android/build.gradle),而不是你的应用程序 格雷德尔先生 (android/app/build.gradle)等等 implementation 应用程序gradle中的依赖项,而不是项目gradle中的依赖项。

    有关项目的工作示例,请参见以下内容 格雷德尔先生 :

    https://github.com/invertase/react-native-firebase/blob/master/tests/android/build.gradle#L9-L11

    和一个应用程序构建梯度:

    https://github.com/invertase/react-native-firebase/blob/master/tests/android/app/build.gradle

    推荐文章