Android with supportVibration() + Didn't find class "androidx.core.content.ContextCompat"
- Dominant language
- Kotlin
- Stars
- 3k
- Forks
- 148
- Avg merge
- 13h 44m
- Merged PRs (30d)
- 1
Description
After updating to KorgeGE `2.0.0.1` I can't start my Android app with native vibration support.
Running on Android `10`.
``` kotlin
korge {
supportVibration()
```
``` kotlin
NativeVibration(views())
```
You can check out the full project here:
https://github.com/TobseF/HitKlack/tree/AddVibrationKorge2
### 📜 Stacktrace
```
Compiler allocated 5588KB to compile void com.soywiz.korau.format.mp3.JavaMp3Decoder.samples_III$korau_debug(com.soywiz.korau.format.mp3.JavaMp3Decoder$Buffer, int, com.soywiz.korau.format.mp3.JavaMp3Decoder$MainDataReader, int, int, int, int, float[], float[], com.soywiz.korau.format.mp3.JavaMp3Decoder$SoundData)
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/content/ContextCompat;
at com.soywiz.korge.service.vibration.NativeVibration.(NativeVibration.kt:19)
at de.tfr.game.Controller.create(Controller.kt:34)
at de.tfr.game.HitKlack.create(HitKlack.kt:34)
at MainKt$main$2.invokeSuspend(main.kt:16)
at MainKt$main$2.invoke(Unknown Source:10)
at com.soywiz.korge.Korge$invoke$4$4$1.invokeSuspend(Korge.kt:184)
at com.soywiz.korge.Korge$invoke$4$4$1.invoke(Unknown Source:10)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:194)
at com.soywiz.korge.Korge$invoke$4$4.invokeSuspend(Korge.kt:181)
at com.soywiz.korge.Korge$invoke$4$4.invoke(Unknown Source:10)
at com.soywiz.korio.async.AsyncExtKt$_launch$1.invokeSuspend(AsyncExt.kt:39)
at com.soywiz.korio.async.AsyncExtKt$_launch$1.invoke(Unknown Source:10)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:111)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:158)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
at com.soywiz.korio.async.AsyncExtKt._launch(AsyncExt.kt:37)
at com.soywiz.korio.async.AsyncExtKt.launchImmediately(AsyncExt.kt:10)
at com.soywiz.korge.Korge$invoke$4.invokeSuspend(Korge.kt:180)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7616)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
used by: java.lang.ClassNotFoundException: Didn't find class "androidx.core.content.ContextCompat" on path: DexPathList[[zip file "/data/app/de.tfr.game.hitklack-q_8DXI7LVAQ-wFq3v51ZrA==/base.apk"],nativeLibraryDirectories=[/data/app/de.tfr.game.hitklack-q_8DXI7LVAQ-wFq3v51ZrA==/lib/arm64, /system/lib64, /product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 30 more
FATAL EXCEPTION: main
Process: de.tfr.game.hitklack, PID: 11449
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/content/ContextCompat;
at com.soywiz.korge.service.vibration.NativeVibration.(NativeVibration.kt:19)
at de.tfr.game.Controller.create(Controller.kt:34)
at de.tfr.game.HitKlack.create(HitKlack.kt:34)
at MainKt$main$2.invokeSuspend(main.kt:16)
at MainKt$main$2.invoke(Unknown Source:10)
at com.soywiz.korge.Korge$invoke$4$4$1.invokeSuspend(Korge.kt:184)
at com.soywiz.korge.Korge$invoke$4$4$1.invoke(Unknown Source:10)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91)
at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:194)
at com.soywiz.korge.Korge$invoke$4$4.invokeSuspend(Korge.kt:181)
at com.soywiz.korge.Korge$invoke$4$4.invoke(Unknown Source:10)
at com.soywiz.korio.async.AsyncExtKt$_launch$1.invokeSuspend(AsyncExt.kt:39)
at com.soywiz.korio.async.AsyncExtKt$_launch$1.invoke(Unknown Source:10)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:111)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:158)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
at com.soywiz.korio.async.AsyncExtKt._launch(AsyncExt.kt:37)
at com.soywiz.korio.async.AsyncExtKt.launchImmediately(AsyncExt.kt:10)
at com.soywiz.korge.Korge$invoke$4.invokeSuspend(Korge.kt:180)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7616)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.core.content.ContextCompat" on path: DexPathList[[zip file "/data/app/de.tfr.game.hitklack-q_8DXI7LVAQ-wFq3v51ZrA==/base.apk"],nativeLibraryDirectories=[/data/app/de.tfr.game.hitklack-q_8DXI7LVAQ-wFq3v51ZrA==/lib/arm64, /system/lib64, /product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 30 more
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at NativeVibration.kt:19 and inspect how supportVibration() brings Android dependencies into the app. Reproduce the failure with the linked HitKlack project, then verify that the Android app starts with native vibration support without the ContextCompat NoClassDefFoundError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100