ビルド.gradle.kts
buildscript {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath ("com.android.tools.build:gradle:7.0.2")
classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30")
classpath("gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:${Versions.spotbugsGradlePluginVersion}")
classpath("se.bjurr.violations:violations-gradle-plugin:${Versions.violationsVersion}")
}
}
//android {
// compileOptions {
// sourceCompatibility = JavaVersion.VERSION_11
// targetCompatibility = JavaVersion.VERSION_11
// }
//
// kotlinOptions {
// jvmTarget = JavaVersion.VERSION_11.toString()
// }
//}
plugins {
`maven-publish`
`java-gradle-plugin`
`kotlin-dsl`
id ("io.gitlab.arturbosch.detekt") version ("1.18.1")
}
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
dependencies {
compileOnly(gradleApi())
testImplementation(gradleTestKit())
testImplementation("junit:junit:${Versions.jUnitVersion}")
}
val generatedSources = tasks.register<GenerateVersionsFileTask>("generateSources")
次のエラーが発生します:
エラー: 'compileJava' タスク (現在のターゲットは 11) と 'compileKotlin' タスク (現在のターゲットは 1.8) jvm ターゲットの互換性は、同じ Java バージョンに設定する必要があります。
コメントを外すとandroid {}
、次のようになります:
エラー: スクリプトのコンパイル エラー:
Line 15: android { ^ Unresolved reference: android
ベストアンサー1
エラーが表示されているバージョンにも注意する必要があります。私の場合は次のとおりです。
原因: org.gradle.api.GradleException: 'compileDebugJavaWithJavac' タスク (現在のターゲットは 1.8 ) および 'compileDebugKotlin' タスク (現在のターゲットは 17 ) jvm ターゲットの互換性は、同じ Java バージョンに設定する必要があります。
つまり、Android Studio IDE は 17 を使用しています (ファイル メニュー -> プロジェクト構造 -> SDK の場所 -> JDK の場所で確認できます)
そして、Gradle ファイルでは 1.8 を使用しています。
だからあなたは変わる必要がある
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
そして
kotlinOptions {
jvmTarget = '1.8'
}
に
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
そして
kotlinOptions {
jvmTarget = '17'
}
ご了承ください
エラーに17と表示されたので、私も17に切り替えました。
これは、Gradle を 8.0 にアップグレードしたときに発生しました。
リリースの問題に注意してください。手順を実行する前にバックアップを取ってください。リリース aab で問題が発生する可能性があります。
この手順が完了したら、リリースapkを確認してください。R8では次のようなことが期待されているからです。これ