【问题标题】:Error: "Unresolved reference: versionCode" in build.gradle.kts错误:build.gradle.kts 中的“未解决的参考:versionCode”
【发布时间】:2021-06-02 10:35:46
【问题描述】:

我正在尝试将一个新模块(库模块)添加到我的项目中,但在 build.gradle.kts(对于库模块)中出现此错误:

org.gradle.internal.exceptions.LocationAwareException: Build file ' ... /build.gradle.kts' line: 13
Script compilation errors:

  Line 13:         versionCode = 1
                   ^ Unresolved reference: versionCode

  Line 14:         versionName = "1.0"
                   ^ Unresolved reference: versionName

.
.
.

Caused by: ScriptCompilationException( ... )

build.gradle.kts

plugins {
    id("com.android.library")
    id("kotlin-android")
}

android {
    compileSdk = 30
    buildToolsVersion = "30.0.3"

    defaultConfig {
        minSdk = 21
        targetSdk = 30
        versionCode = 1       //error: Unresolved reference
        versionName = "1.0"   //error: Unresolved reference

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles("consumer-rules.pro")
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

如果有任何帮助,我将不胜感激

【问题讨论】:

    标签: android gradle android-gradle-plugin gradle-kotlin-dsl


    【解决方案1】:

    versionCodeversionName 在库模块中毫无意义。仅在应用程序模块中使用它们。

    从长远来看,Google 计划在某些版本的 Android Gradle 插件中将它们从 DSL 中完全删除:

    在未来版本的 Android Gradle 插件中,versionNameversionCode 属性也将从库的 DSL 中移除。

    (source)

    如果您使用的是 AGP 的早期非稳定版本,您可能已经进行了此更改。 Android Studio 中的代码模板并不总是与工具更改同步。

    【讨论】:

    • 感谢您的回答,但此代码是由 android studio 自动生成的,所有库 build.gradle 文件都有 versionCodeversionName 否则我们无法将版本名称设置为库。
    • 有点晚了,不过版本词组确实对库没用。仅在发行版中使用。如果您在代码中确实需要它们,请使用 BuildConfigField
    【解决方案2】:

    从库模块中删除 versionCode 和 versionName 并再次检查

    【讨论】:

      猜你喜欢
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      相关资源
      最近更新 更多