Android Studio プロジェクトに、 という Java ライブラリ モジュールを追加しましたcore
。3 つの Gradle ビルド ファイルは次のようになります。
プロジェクト/ビルド.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
}
コア/ビルド.gradle
apply plugin: 'java-library'
apply plugin: 'kotlin'
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
...
}
アプリ/ビルド.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
から始まるコトリン 1.4デフォルトで追加された標準ライブラリへの依存関係:
マルチプラットフォーム プロジェクトを含むすべての Kotlin Gradle プロジェクトで、stdlib ライブラリへの依存関係を宣言する必要がなくなりました。依存関係はデフォルトで追加されます。
自動的に追加される標準ライブラリは、バージョン管理が同じであるため、Kotlin Gradle プラグインと同じバージョンになります。
プラットフォーム固有のソース セットの場合、ライブラリの対応するプラットフォーム固有のバリアントが使用され、残りの部分には共通の標準ライブラリが追加されます。Kotlin Gradle プラグインは、Gradle ビルド スクリプトの kotlinOptions.jvmTarget コンパイラ オプションに応じて適切な JVM 標準ライブラリを選択します。
リンクKotlin Gradle プラグインのドキュメントへ。