1. ホーム
  2. アンドロイド

[解決済み】「Kotlinプラグインのバージョンはライブラリのバージョンと同じではありません」という警告(でも同じです!)。

2022-04-05 10:53:21

質問

Android Studioのプロジェクトに、Javaのライブラリモジュールを追加しています。 core . 私の3つのGradleビルドファイルは以下のようなものです。

プロジェクト/build.gradle

buildscript {
    ext.kotlin_version = '1.2.40'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

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

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

コア/build.gradle

apply plugin: 'java-library'
apply plugin: 'kotlin'

dependencies { 
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
    ...
}

app/build.gradle

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

android { ... }

dependencies {
    implementation project(':core')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.android.support:appcompat-v7:27.1.1'

    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    testImplementation 'junit:junit:4.12'
}

私が抱えている問題は core/build.gradle は、その kotlin-stdlib-jdk7 の行で警告が表示されます。 Plugin version (1.2.40) is not the same as library version (jdk7-1.2.40) . に変更してみました。

implementation "org.jetbrains.kotlin:kotlin-stdlib"

implementation "org.jetbrains.kotlin:kotlin-stdlib:1.2.40"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.40"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

しかし、警告はまだ出ています。ビルドはまだ正常に実行されており、問題なく警告を圧縮して無視できることは分かっていますが、なぜこれが起こるのか、どうすればこれを取り除くことができるのかを本当に知りたいのです。Android Studio 3.0.1を使っています。どなたか解決策をご存じないでしょうか?

解決方法を教えてください。

出発点 コトリン1.4 標準ライブラリへの依存がデフォルトで追加されます。

マルチプラットフォームを含むKotlin Gradleプロジェクトにおいて、stdlibライブラリへの依存を宣言する必要がなくなりました。依存関係はデフォルトで追加されます。

自動的に追加される標準ライブラリは、Kotlin Gradleプラグインのバージョンと同じになるため、同じバージョンになります。

プラットフォーム固有のソースセットでは、対応するプラットフォーム固有のバリアントライブラリが使用され、残りの部分には共通の標準ライブラリが追加されます。Kotlin Gradleプラグインは、GradleビルドスクリプトのkotlinOptions.jvmTargetコンパイラーオプションに応じて、適切なJVM標準ライブラリを選択することになります。

リンク Kotlin Gradle プラグインのドキュメントに移動します。