无法解析:firebase-analytics;无法解析:play-service-base

3

帮我解决gradle中的这些错误。

错误信息:

警告: 配置 'androidTestCompile' 已经过时,应使用 'androidTestImplementation' 和 'androidTestApi' 替代。该配置将在 2018 年底之前被删除。更多信息请参见: http://d.android.com/r/tools/update-dependency-configurations.html

警告: 配置 'compile' 已经过时,应使用 'implementation' 和 'api' 替代。该配置将在 2018 年底之前被删除。更多信息请参见: http://d.android.com/r/tools/update-dependency-configurations.html

警告: 配置 'androidTestApi' 已经过时,应使用 'androidTestImplementation' 替代。该配置将在 2018 年底之前被删除。更多信息请参见: http://d.android.com/r/tools/update-dependency-configurations.html

警告: 配置 'testCompile' 已经过时,应使用 'testImplementation' 和 'testApi' 替代。该配置将在 2018 年底之前被删除。更多信息请参见: http://d.android.com/r/tools/update-dependency-configurations.html

警告: 配置 'testApi' 已经过时,应使用 'testImplementation' 替代。该配置将在 2018 年底之前被删除。更多信息请参见: http://d.android.com/r/tools/update-dependency-configurations.html

错误: 无法解析:firebase-analytics 打开文件

错误: 无法解析:play-services-base 打开文件

这些错误和警告出现在我的gradle中。

这些错误是最近出现的,之前没有问题。

这是我的app gradle:

       'apply plugin: 'com.android.application'

    android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.example.alagappan.vivo"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner
        "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
      release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),      'proguard-rules.pro'
          }
         }
      compileOptions {
      targetCompatibility 1.8
      sourceCompatibility 1.8
    }
   }

      buildscript {
      repositories {
      jcenter()
    }
      dependencies {
         classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'
     }
   }

dependencies {
   androidTestCompile('com.android.support.test.espresso:espresso-     core:2.2.2', {
     exclude group: 'com.android.support', module: 'support-annotations'
  })
  compile 'com.android.support:appcompat-v7:27.1.1'
  compile fileTree(include: ['*.jar'], dir: 'libs')
  compile 'com.android.support.constraint:constraint-layout:1.1.0'
  compile 'com.android.support:recyclerview-v7:27.1.1'
  compile 'com.android.support:cardview-v7:27.1.1'
  compile 'com.google.firebase:firebase-core:15.0.0'
  compile 'com.google.firebase:firebase-database:16.0.1'
  compile 'com.google.firebase:firebase-auth:16.0.1'
  testCompile 'junit:junit:4.12' 
  compile 'com.google.android.gms:play-services-auth:15.0.1'
  compile 'com.firebaseui:firebase-ui-database:3.2.2'
  compile 'com.android.support:design:27.1.1'
  compile 'com.firebase:firebase-client-android:2.5.0'
  compile 'com.andkulikov:transitionseverywhere:1.7.9'
 }' 



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

这是应用程序端的Gradle:

'// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
  repositories {
      jcenter()
      google()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:3.1.2'
      // NOTE: Do not place your application dependencies here; they belong
      // in the individual module build.gradle files
  }
}

buildscript {
  dependencies {
      classpath 'com.google.gms:google-services:3.2.0' // google-services     plugin 
  }
}
allprojects {
  repositories {
      jcenter()
      google()
  } 
}

task clean(type: Delete) {
    delete rootProject.buildDir
}'

提前感谢各位朋友


现在我得到了正确的解决方案,谢谢@Floern。 - Alagappan
1个回答

3

删除:

 compile 'com.firebase:firebase-client-android:2.5.0'

由于它已被弃用,因此需要进行更改。 https://www.firebase.com/docs/android/quickstart.html

将顶级gradle文件更改为以下内容:

buildscript {

repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.0'
    classpath 'com.google.gms:google-services:3.3.0'
  }
}

allprojects {
  repositories {
        google()
        jcenter()

    }
 }

task clean(type: Delete) {
  delete rootProject.buildDir
}

https://developer.android.com/studio/releases/gradle-plugin

更新内容:

  • compile改为implementation
  • androidTestCompileandroidTestApi改为androidTestImplementation
  • testCompiletestApi改为testImplementation

https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration


我已经修正了警告,但没有错误。 - Alagappan
1
感谢您,@Peter_Haddad。 - Alagappan
对我来说关键是确保google()被列为第一项(参考 https://dev59.com/-FUL5IYBdhLWcg3wSmYo) - LordParsley
是的,@LordParsley在答案中将google()列为第一。 - Peter Haddad
Yip @PeterHaddad 只是想引起注意,因为一开始我并没有认为这很重要,但我的列表排在第二位,而且无法工作 :-) - LordParsley

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