未找到 Gradle DSL 方法:“androidTestImplementation()”

ー P*_*e ー 5 android android-testing android-studio android-gradle-plugin

我正在尝试使用 uiautomator 所以查看了这里的教程https://developer.android.com/training/testing/ui-testing/uiautomator-testing#java

在教程中,它说:

在 Android 应用程序模块的 build.gradle 文件中,您必须设置对 UI Automator 库的依赖项引用:

dependencies {
    ...
    androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
}
Run Code Online (Sandbox Code Playgroud)

所以我添加了该行,所以我的 build.gradle 文件如下所示:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = "1.3.72"
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

//        androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
//        androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
        androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
//        androidTestImplementation('androidx.test.uiautomator:uiautomator:2.2.0')

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

我尝试运行该应用程序。但我收到一个错误:

Gradle DSL method not found: 'androidTestImplementation()'
Possible causes:
The project 'My Application' may be using a version of the Android Gradle plug-in that does not contain the method (e.g. 'testCompile' was added in 1.1.0).
Upgrade plugin to version 4.0.2 and sync project

The project 'My Application' may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file

The build file may be missing a Gradle plugin.
Apply Gradle plugin
Run Code Online (Sandbox Code Playgroud)

Gab*_*tti 4

您使用了错误的 build.gradle文件和错误的块。

您必须将文件androidTestImplementation从顶级文件移动到块module/build.gradle中的文件dependencies(而不是块dependencies中的文件buildscript)::

   apply plugin: 'com.android.application'
   apply plugin: 'kotlin-android'

   android {
    //...
   }

    dependencies {
        //...
        androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
    }
Run Code Online (Sandbox Code Playgroud)