My Ionic Capacitor Android won't run. I am getting "Unknown Kotlin JVM target: 21" error.
My exact error is:
Could not determine the dependencies of task ':capacitor-inappbrowser:compileDebugKotlin'.
Unknown Kotlin JVM target: 21
I ran the "java -version" and "gradle -v" commands from Visual Studio Code terminal.
$ java -version
java version "21.0.4" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 21.0.4+8-LTS-274)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.4+8-LTS-274, mixed mode, sharing)
$ gradle -v
------------------------------------------------------------
Gradle 8.9
------------------------------------------------------------
Build time: 2024-07-11 14:37:41 UTC
Revision: d536ef36a19186ccc596d8817123e5445f30fef8
Kotlin: 1.9.23
Groovy: 3.0.21
Ant: Apache Ant(TM) version 1.10.13 compiled on January 4 2023
Launcher JVM: 21.0.4 (Oracle Corporation 21.0.4+8-LTS-274)
Daemon JVM: C:\Program Files\Java\jdk-21 (no JDK specified, using current Java home)
OS: Windows 11 10.0 amd64
Here is the capacitor.build.gradle file in the Android project...
// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
}
apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
dependencies {
implementation project(':capacitor-community-fcm')
implementation project(':capacitor-community-file-opener')
implementation project(':capacitor-community-sqlite')
implementation project(':capacitor-mlkit-barcode-scanning')
implementation project(':capacitor-app')
implementation project(':capacitor-app-launcher')
implementation project(':capacitor-browser')
implementation project(':capacitor-camera')
implementation project(':capacitor-device')
implementation project(':capacitor-filesystem')
implementation project(':capacitor-geolocation')
implementation project(':capacitor-haptics')
implementation project(':capacitor-inappbrowser')
implementation project(':capacitor-keyboard')
implementation project(':capacitor-network')
implementation project(':capacitor-preferences')
implementation project(':capacitor-push-notifications')
implementation project(':capacitor-splash-screen')
implementation project(':capacitor-status-bar')
implementation project(':capacitor-toast')
implementation project(':capacitor-barcode-scanner')
}
if (hasProperty('postBuildExtras')) {
postBuildExtras()
}
Build.gradle file....
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.7.1'
classpath 'com.google.gms:google-services:4.4.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
apply from: "variables.gradle"
allprojects {
repositories {
google()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
gradle-wrapper.properties file...
#Fri Dec 06 09:02:05 CST 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Android Gradle plugin is not the same as gradle. Use [https://docs.gradle.org/current/userguide/compatibility.html][1]. Be sure that gradle versions and Java versions match up. Update your Path and JAVA_HOME in System Environmental Variables and then restart your computer.