[Android] gradle: fix java JVM to v8
Steve Lhomme
git at videolan.org
Wed Jun 10 09:28:00 UTC 2026
vlc-android | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Wed Feb 18 14:18:55 2026 +0100| [a48b888e8de9c91bbb0c7418fc93eac56f49323e] | committer: Steve Lhomme
gradle: fix java JVM to v8
It's already set for all kotlin tasks.
Either we set it only on a few kotlin target that require it (libvlcjni ?)
or we set it globally but AGP 9 complains it doesn't match the java compiler
version which is 11 by default.
libjvlcjni doesn't have any kotlin so it doesn't even complain. And it
doesn't set sourceCompatibility either.
> https://code.videolan.org/videolan/vlc-android/commit/a48b888e8de9c91bbb0c7418fc93eac56f49323e
---
application/app/build.gradle | 4 ++--
application/live-plot-graph/build.gradle | 5 +++++
application/mediadb/build.gradle | 4 ++++
application/moviepedia/build.gradle | 5 +++++
application/remote-access-client/build.gradle | 4 ++--
application/remote-access-server/build.gradle | 4 ++--
application/resources/build.gradle | 5 +++++
application/television/build.gradle | 5 +++++
application/tools/build.gradle | 4 ++++
application/vlc-android/build.gradle | 4 ++++
build.gradle | 10 +++++++++-
medialibrary/build.gradle | 4 ++--
12 files changed, 49 insertions(+), 9 deletions(-)
diff --git a/application/app/build.gradle b/application/app/build.gradle
index b04e1326ed..282c166546 100644
--- a/application/app/build.gradle
+++ b/application/app/build.gradle
@@ -6,8 +6,8 @@ plugins {
android {
compileOptions {
coreLibraryDesugaringEnabled = true
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
}
packagingOptions {
diff --git a/application/live-plot-graph/build.gradle b/application/live-plot-graph/build.gradle
index 48b4651508..471f511f72 100644
--- a/application/live-plot-graph/build.gradle
+++ b/application/live-plot-graph/build.gradle
@@ -34,6 +34,11 @@ android {
consumerProguardFiles 'consumer-rules.pro'
}
+ compileOptions {
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
+ }
+
buildTypes {
release {
minifyEnabled false
diff --git a/application/mediadb/build.gradle b/application/mediadb/build.gradle
index 2e8b6fc248..2d06a84dfe 100644
--- a/application/mediadb/build.gradle
+++ b/application/mediadb/build.gradle
@@ -35,6 +35,10 @@ android {
}
}
+ compileOptions {
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
+ }
defaultConfig {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/application/moviepedia/build.gradle b/application/moviepedia/build.gradle
index d5fe61d2c9..bf2b21766d 100644
--- a/application/moviepedia/build.gradle
+++ b/application/moviepedia/build.gradle
@@ -26,6 +26,11 @@ android {
multiDexEnabled = true
}
+ compileOptions {
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
+ }
+
buildTypes {
release {
minifyEnabled false
diff --git a/application/remote-access-client/build.gradle b/application/remote-access-client/build.gradle
index b29abcbe0f..d8278c5cf4 100644
--- a/application/remote-access-client/build.gradle
+++ b/application/remote-access-client/build.gradle
@@ -56,8 +56,8 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
}
kotlinOptions {
jvmTarget = '1.8'
diff --git a/application/remote-access-server/build.gradle b/application/remote-access-server/build.gradle
index d73d6df47b..33cc4f7cfc 100644
--- a/application/remote-access-server/build.gradle
+++ b/application/remote-access-server/build.gradle
@@ -44,8 +44,8 @@ android {
compileOptions {
coreLibraryDesugaringEnabled = true
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
}
kotlinOptions {
jvmTarget = '1.8'
diff --git a/application/resources/build.gradle b/application/resources/build.gradle
index 3926d075d8..e404e03364 100644
--- a/application/resources/build.gradle
+++ b/application/resources/build.gradle
@@ -18,6 +18,11 @@ android {
buildConfigField 'String', 'VLC_OPEN_SUBTITLES_API_KEY', "\"${getOSApiKey(project)}\""
vectorDrawables.useSupportLibrary = true
}
+
+ compileOptions {
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
+ }
buildTypes {
release {
diff --git a/application/television/build.gradle b/application/television/build.gradle
index b825e5b23c..146ac647fe 100644
--- a/application/television/build.gradle
+++ b/application/television/build.gradle
@@ -22,6 +22,11 @@ android {
consumerProguardFiles 'consumer-rules.pro'
}
+ compileOptions {
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
+ }
+
buildTypes {
release {
minifyEnabled false
diff --git a/application/tools/build.gradle b/application/tools/build.gradle
index 1d63894aab..ea567c113f 100644
--- a/application/tools/build.gradle
+++ b/application/tools/build.gradle
@@ -9,6 +9,10 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
+ compileOptions {
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
+ }
buildTypes {
release {
diff --git a/application/vlc-android/build.gradle b/application/vlc-android/build.gradle
index c8712d190a..0a7dd8bfb1 100644
--- a/application/vlc-android/build.gradle
+++ b/application/vlc-android/build.gradle
@@ -66,6 +66,10 @@ android {
}
}
+ compileOptions {
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
+ }
buildTypes {
release {
diff --git a/build.gradle b/build.gradle
index b16ddfd451..dab07ae9e3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -34,8 +34,12 @@ allprojects {
options.addStringOption('encoding', 'UTF-8')
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
+ kotlin {
+ compilerOptions {
+ jvmTarget.set("$rootProject.ext.targetJVMKotlin")
+ }
+ }
kotlinOptions {
- jvmTarget = JavaVersion.VERSION_1_8.toString()
freeCompilerArgs += ['-opt-in=kotlin.RequiresOptIn']
}
}
@@ -49,6 +53,10 @@ ext {
remoteAccessVersion = '0.17.0'
libvlcVersion = vlcMajorVersion == 3 ? '3.7.1' :'4.0.0-eap25'
medialibraryVersion = '0.13.19' + (vlcMajorVersion == 3 ? '' : '-vlc4')
+
+ targetJVM = JavaVersion.VERSION_1_8
+ targetJVMKotlin = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8
+
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
// default ndkVersion in android_plugin_version in 8.9.1: 27.0.12077973
diff --git a/medialibrary/build.gradle b/medialibrary/build.gradle
index e603f6cb64..d24e40d087 100644
--- a/medialibrary/build.gradle
+++ b/medialibrary/build.gradle
@@ -30,8 +30,8 @@ ext {
android {
namespace = 'org.videolan.medialibrary'
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility "$rootProject.ext.targetJVM"
+ targetCompatibility "$rootProject.ext.targetJVM"
}
defaultConfig {
More information about the Android
mailing list