cordova-plugin-firebasex
cordova-plugin-firebasex copied to clipboard
firebasex 16.4.0 caused kotlin version error
Bug report
CHECKLIST
-
[✔️ ] I have read the issue reporting guidelines
-
[ ✔️ ] I confirm this is a suspected bug or issue that will affect other users
- [ ✔️ ] I have reproduced the issue using the example project or provided the necessary information to reproduce the issue.
- [ ✔️ ] I have read the documentation thoroughly and it does not help solve my issue.
- [ ✔️ ] I have checked that no similar issues (open or closed) already exist.
Current behavior:
When update cordova-plugin-firebasex 16.1.0 to 16.4.0, cordova build android failed with the following errors. Finally, I gave up and revert to 16.1.0.
cordova build android
cordova-plugin-androidx-adapter: Processed 48 source files in 673ms
cordova-plugin-firebasex: Preparing Firebase on Android
Checking Java JDK and Android SDK versions
ANDROID_HOME=/Users/me/Library/Android/sdk (recommended setting)
ANDROID_SDK_ROOT=undefined (DEPRECATED)
Using Android SDK: /Users/me/Library/Android/sdk
Subproject Path: CordovaLib
Subproject Path: app
> Configure project :app
Warning: The 'kotlin-android-extensions' Gradle plugin is deprecated. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' plugin.
strippedNativeLibsDir is deprecated and no longer used. Please remove it from your build configuration.
> Task :app:compileDebugKotlin FAILED
**e: /Users/me/.gradle/caches/transforms-3/1ee3f7841abe9979797edc39b62bd26a/transformed/jetified-firebase-auth-22.2.0-api.jar!/META-INF/java.com.google.android.gmscore.integ.client.firebase-auth-api_firebase-auth-api.kotlin_module:
Module was compiled with an incompatible version of Kotlin.
The binary version of its metadata is 1.9.0, expected version is 1.7.1.
e: /Users/me/.gradle/caches/transforms-3/dade25bead44bca314189166709326d8/transformed/jetified-play-services-measurement-api-21.5.0-api.jar!/META-INF/java.com.google.android.gmscore.integ.client.measurement_api_measurement_api.kotlin_module:
Module was compiled with an incompatible version of Kotlin.
The binary version of its metadata is 1.9.0, expected version is 1.7.1.**
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
> Compilation error. See log for more details
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings
Expected behavior:
kotlin 1.9 seems to require Gradle 8 which is not yet supported with cordova-android.
Environment information
Installed platforms:
android 12.0.1 ios 6.3.0
Installed plugins
cordova-plugin-android-dark-mode-support 2.0.0 "AndroidDarkModeSupport" cordova-plugin-androidx-adapter 1.1.3 "cordova-plugin-androidx-adapter" cordova-plugin-badge 0.8.9 "Badge" cordova-plugin-calendar 5.1.6 "Calendar" cordova-plugin-file 6.0.2 "File" cordova-plugin-firebasex 16.1.0 "Google Firebase Plugin" cordova-plugin-inappbrowser 5.0.0 "InAppBrowser" cordova-plugin-splashscreen 6.0.2 "Splashscreen" cordova-plugin-statusbar 3.0.0 "StatusBar" cordova-plugin-webviewcolor 2.2.0 "WebView background color plugin" cordova-plugin-wkwebview-file-xhr 3.1.0 "Cordova WKWebView File XHR Plugin" cordova.plugins.diagnostic 7.1.2 "Diagnostic"
OS
MacOS 14.3, Xcode 15.1
I've got the same error, and I resolved it with the following steps:
On config.xml:
<preference name="GradlePluginKotlinEnabled" value="true" />
<preference name="GradlePluginKotlinVersion" value="1.9.0" />
Then, on \platforms\android\app\build.gradle:
Delete the line 24: apply plugin: 'kotlin-android-extensions'
I've created a Cordova hook so I don't have to manually delete the line everytime I add or remove the android platform. This is just temporary solution until cordova-13 arrives (that line will be automatically removed in cordova-13).