-
Notifications
You must be signed in to change notification settings - Fork 50
Description
Core module is relying on some packages that does not exist on Android, so when you try to run it, Android complains. In version 0.8 it says specifically that the classloader could not load java.awt.Color, and in version 0.9 it is complaining about getDefinedPackage from classloader that apparently does not exist in Android either.
The following image shows where specifically the error comes from on core (line 46):
The error is happening because getDefinedPackage doesn't exist on Android. For fixing it I suggest isolating any platform specific dependencies in separate modules whatever is happening in LibraryInfo. For example: se-adapter, android-adapter, etc. Though I wonder if osc really needs it for its purpose.
I am using JDK 11 and Android API Version 35.
Stack trace from LogCat:
E FATAL EXCEPTION: main
Process: vtubing.pose.tracker, PID: 5276
java.lang.NoSuchMethodError: No virtual method getDefinedPackage(Ljava/lang/String;)Ljava/lang/Package; in class Ljava/lang/ClassLoader; or its super classes (declaration of 'java.lang.ClassLoader' appears in /apex/com.android.art/javalib/core-oj.jar)
at com.illposed.osc.LibraryInfo.<clinit>(LibraryInfo.java:46)
at com.illposed.osc.transport.udp.UDPTransport.<init>(UDPTransport.java:61)
at com.illposed.osc.transport.OSCPort.<init>(OSCPort.java:40)
at com.illposed.osc.transport.OSCPortOut.<init>(OSCPortOut.java:58)
at com.illposed.osc.transport.OSCPortOut.<init>(OSCPortOut.java:67)
at com.illposed.osc.transport.OSCPortOut.<init>(OSCPortOut.java:75)
at com.illposed.osc.transport.OSCPortOut.<init>(OSCPortOut.java:80)
at com.illposed.osc.transport.OSCPortOut.<init>(OSCPortOut.java:90)
at vtubing.pose.tracker.io.OSCTestIO.testOSC(OSCTestIO.kt:38)
at vtubing.pose.tracker.io.OSCTestIO.access$testOSC(OSCTestIO.kt:13)
at vtubing.pose.tracker.io.OSCTestIO$start$1$1.invokeSuspend(OSCTestIO.kt:27)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at vtubing.pose.tracker.io.OSCTestIO.start(OSCTestIO.kt:24)
at vtubing.pose.tracker.fragment.CameraFragment.onViewCreated$lambda$2(CameraFragment.kt:160)
at vtubing.pose.tracker.fragment.CameraFragment.$r8$lambda$aE3BU7OArwJZp0ejt8SdlDpda_U(Unknown Source:0)
at vtubing.pose.tracker.fragment.CameraFragment$$ExternalSyntheticLambda3.onClick(D8$$SyntheticClass:0)
at android.view.View.performClick(View.java:8047)
at android.view.View.performClickInternal(View.java:8024)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:31890)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Could it be fixed?
Thanks in advance
