Android Gradle插件错误:无法解析变量

时间:2019-07-19 08:34:44

标签: android android-studio kotlin build

我下载并打开了我关注的Android在线课程的入门代码。该项目构建良好,但是当我运行该项目时,出现以下错误。

[TAG] Failed to resolve variable '${junit.version}'
[TAG] Failed to resolve variable '${animal.sniffer.version}'
[TAG] Failed to resolve variable '${project.version}'

我是android开发和android studio的新手,所以我什至不知道从哪里开始进行故障排除。在检查了一些问题之后,我碰巧了解到这类问题通常与buil.gradle文件相关联,因此我将其包括在这里。

这是我的构建平台

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 28
    dataBinding {
        enabled = true
    }
    defaultConfig {
        applicationId 'com.example.android.navigation'
        minSdkVersion 19
        targetSdkVersion 28
        vectorDrawables.useSupportLibrary = true
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    // Kotlin
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$version_kotlin"

    // Constraint Layout
    implementation "androidx.constraintlayout:constraintlayout:$version_constraint_layout"

    // Core
    implementation "androidx.core:core:$version_core"

    // Material Design
    implementation "com.google.android.material:material:$version_material"
}

任何帮助将不胜感激,至少在我得到这种类型的错误时,甚至如何找到原因也是如此。

3 个答案:

答案 0 :(得分:2)

在同一行中添加版本号,而不是$ version ...

喜欢所有依赖项

implementation 'androidx.constraintlayout:constraintlayout:1.1.3' 

答案 1 :(得分:1)

您需要指定库的版本和所使用的资料。 与其将$version_kotlin替换为最新版本的Kotlin。 对所有行都执行类似操作。

答案 2 :(得分:0)

您未指定库的版本

替换$version_kotin

apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 28
    dataBinding {
        enabled = true
    }
    defaultConfig {
        applicationId 'com.example.android.navigation'
        minSdkVersion 19
        targetSdkVersion 28
        vectorDrawables.useSupportLibrary = true
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    // Kotlin
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.0"
    // Constraint Layout
    implementation "androidx.constraintlayout:constraintlayout:1.1.3"
    // Core
    implementation "androidx.core:core:1.0.1"
    // Material Design
    implementation "com.google.android.material:material:1.1.0-alpha06"
}

我希望这会有所帮助。...