Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] AndroidRuntime: java.lang.IncompatibleClassChangeError: Found interface, but class was expected #3616

Open
DummybugStudios opened this issue Jun 9, 2024 · 2 comments

Comments

@DummybugStudios
Copy link

Information

  1. Apktool Version (apktool -version) - 2.9.3
  2. Operating System (Mac, Linux, Windows) - Ubuntu
  3. APK From? (Playstore, ROM, Other) - APK Pure
  4. Java Version (java --version) - openjdk version "11.0.10" 2021-01-19 LTS
    OpenJDK Runtime Environment Corretto-11.0.10.9.1 (build 11.0.10+9-LTS)
    OpenJDK 64-Bit Server VM Corretto-11.0.10.9.1 (build 11.0.10+9-LTS, mixed mode)
  5. Phone: Google Pixel 6. Android version 14.

I am decoding and rebuilding this apk without any changes to the source but it crashes because of IncompatibleClassChangeError.

Stacktrace/Logcat

This stacktrace is from logcat when running the application. The Firebase failures may not be relevant but I've included it regardless.

06-09 23:53:17.020  9691  9691 E com.juul.app: Not starting debugger since process cannot load the jdwp agent.
06-09 23:53:17.061   562   624 E hwc-display: [PrimaryDisplay] resetColorMappingInfoForClientComp:: resetColorMappingInfo() idx=2 error(-22)
06-09 23:53:17.061   562   624 E hwc-display: Fail to open file /data/vendor/log/hwc/PrimaryDisplay_hwc_error_log0.txt, error: Permission denied
06-09 23:53:17.061   562   624 E hwc-display: Fail to open file /data/log/PrimaryDisplay_hwc_error_log0.txt, error: No such file or directory
06-09 23:53:17.061   562   624 E hwc-display: Unable to open log file for PrimaryDisplay_hwc_error_log0.txt
06-09 23:53:17.231  9691  9737 E com.juul.app: No package ID 79 found for resource ID 0x790b0007.
06-09 23:53:17.231  9691  9737 E com.juul.app: No package ID 79 found for resource ID 0x790b0007.
06-09 23:53:17.352  9691  9730 E Firebase-Installations: Firebase Installations can not communicate with Firebase server APIs due to invalid configuration. Please update your Firebase initialization process and set valid Firebase options (API key, Project ID, Application ID) when initializing Firebase.
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: Failed to get FIS auth token
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at O4.m.l(Unknown Source:31)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at O4.m.a(Unknown Source:34)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.z.i(Unknown Source:96)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.z.j(Unknown Source:0)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.z.e(Unknown Source:13)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.FirebaseMessaging.t(Unknown Source:2)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.FirebaseMessaging.d(Unknown Source:0)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.u.start(Unknown Source:6)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.P.b(Unknown Source:77)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.FirebaseMessaging.i(Unknown Source:26)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.Z.d(Unknown Source:4)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.Z.l(Unknown Source:128)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.Z.s(Unknown Source:29)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.messaging.a0.run(Unknown Source:104)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at t4.c.run(Unknown Source:6)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at java.lang.Thread.run(Thread.java:1012)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at M5.c.d(Unknown Source:157)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.installations.c.B(Unknown Source:48)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.installations.c.i(Unknown Source:36)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.installations.c.v(Unknown Source:0)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.installations.c.c(Unknown Source:0)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at K5.d.run(Unknown Source:4)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at z5.j$a.run(Unknown Source:2)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at z5.j$b.a(Unknown Source:88)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at z5.j$b.run(Unknown Source:0)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.concurrent.b.b(Unknown Source:12)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.concurrent.b.a(Unknown Source:0)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	at com.google.firebase.concurrent.a.run(Unknown Source:4)
06-09 23:53:17.380  9691  9750 E FirebaseMessaging: 	... 1 more
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: UID for network attribution might be misset for tag 805307399 [CONTEXT service_id=39 ]
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: eozj: FULL
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at a.T(:com.google.android.gms@[email protected] (190400-638740827):9)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at bbjh.a(:com.google.android.gms@[email protected] (190400-638740827):147)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at besf.c(:com.google.android.gms@[email protected] (190400-638740827):116)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at berw.d(:com.google.android.gms@[email protected] (190400-638740827):11)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at besb.a(:com.google.android.gms@[email protected] (190400-638740827):4)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at berw.b(:com.google.android.gms@[email protected] (190400-638740827):84)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at berw.execute(:com.google.android.gms@[email protected] (190400-638740827):8)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at berw.execute(:com.google.android.gms@[email protected] (190400-638740827):5)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at bcql.h(:com.google.android.gms@[email protected] (190400-638740827):505)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at bcqf.run(:com.google.android.gms@[email protected] (190400-638740827):13)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at andc.c(:com.google.android.gms@[email protected] (190400-638740827):50)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at andc.run(:com.google.android.gms@[email protected] (190400-638740827):76)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at anis.run(:com.google.android.gms@[email protected] (190400-638740827):8)
06-09 23:53:17.964  7445  9012 E GmsConnectionFactory: 	at java.lang.Thread.run(Thread.java:1012)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: FATAL EXCEPTION: main
06-09 23:53:18.184  9691  9691 E AndroidRuntime: Process: com.juul.app, PID: 9691
06-09 23:53:18.184  9691  9691 E AndroidRuntime: java.lang.IncompatibleClassChangeError: Found interface i0.f, but class was expected (declaration of 'i0.f' appears in /data/app/~~kYj1Il5XXn2jWXZNJHUQBQ==/com.juul.app-bF1YxNEG0B_4VB5NShoJxg==/base.apk)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at i0.f.C0(Unknown Source:25)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.foundation.d.i2(Unknown Source:31)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.foundation.d.p(Unknown Source:8)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.H.d(Unknown Source:49)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.H.c(Unknown Source:20)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.Y1(Unknown Source:33)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.E1(Unknown Source:0)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V$g$a.a(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V$g$a.invoke(Unknown Source:0)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.runtime.snapshots.g$a.f(Unknown Source:64)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.runtime.snapshots.k$a.i(Unknown Source:45)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.runtime.snapshots.k.o(Unknown Source:102)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.h0.i(Unknown Source:2)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V$g.a(Unknown Source:31)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V$g.invoke(Unknown Source:2)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.ui.platform.z1.A(Unknown Source:36)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.ui.platform.C1.k(Unknown Source:44)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.ui.platform.C1.b(Unknown Source:11)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.W1(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.B.J2(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.Y1(Unknown Source:11)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.W1(Unknown Source:29)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.B.J2(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.Y1(Unknown Source:11)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.W1(Unknown Source:29)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.F.A(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.v.J2(Unknown Source:37)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.Y1(Unknown Source:11)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.E1(Unknown Source:0)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V$g$a.a(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V$g$a.invoke(Unknown Source:0)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.runtime.snapshots.g$a.f(Unknown Source:64)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.runtime.snapshots.k$a.i(Unknown Source:45)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.runtime.snapshots.k.o(Unknown Source:102)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.h0.i(Unknown Source:2)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V$g.a(Unknown Source:31)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V$g.invoke(Unknown Source:2)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.ui.platform.z1.A(Unknown Source:36)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.ui.platform.C1.k(Unknown Source:44)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.ui.platform.C1.b(Unknown Source:11)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.W1(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.F.A(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.v.J2(Unknown Source:37)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.Y1(Unknown Source:11)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.V.W1(Unknown Source:29)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at v0.F.A(Unknown Source:4)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(Unknown Source:51)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.draw(View.java:24193)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:23056)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.draw(View.java:23920)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewGroup.drawChild(ViewGroup.java:4566)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4327)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:23047)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.draw(View.java:23920)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewGroup.drawChild(ViewGroup.java:4566)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4327)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:23047)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.draw(View.java:23920)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewGroup.drawChild(ViewGroup.java:4566)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4327)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:23047)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.draw(View.java:23920)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewGroup.drawChild(ViewGroup.java:4566)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4327)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.draw(View.java:24193)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at com.android.internal.policy.DecorView.draw(DecorView.java:827)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.View.updateDisplayListIfDirty(View.java:23056)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:694)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:700)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:798)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewRootImpl.draw(ViewRootImpl.java:5234)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4900)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4049)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2659)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9789)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1399)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1408)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.Choreographer.doCallbacks(Choreographer.java:1008)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.Choreographer.doFrame(Choreographer.java:938)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1382)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:959)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:100)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:232)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:317)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8501)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
06-09 23:53:18.184  9691  9691 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

Steps to Reproduce

  1. apktool d -r JUUL.apk
  2. apktool b JUUL.apk
  3. Sign it and install.
  4. Run it and it crashes

Note: This error does not happen if the app was decoded with the -s flag (though the firebase one does - perhaps due to some anti tampering mechanisms).

Frameworks

If this APK is from an OEM ROM (Samsung, HTC, LG). Please attach framework files
(.apks that live in /system/framework or /system/priv-app)

N/A

APK

https://apkpure.com/juul/com.juul.app/download

Questions to ask before submission

  1. Have you tried apktool d, apktool b without changing anything? Yes, but resources can't be rebuilt because of [BUG] apktool cannot recompile obfuscated apks with shrinkResources = true after updating Gradle #3534.
  2. If you are trying to install a modified apk, did you resign it? Yes
  3. Are you using the latest apktool version? Yes
@iBotPeaches
Copy link
Owner

I'll revisit this when smail 3.0.8 is out.

@newinnovations
Copy link

newinnovations commented Jan 26, 2025

I ran into the same issue and did some digging.

In my case the error is:

01-26 12:11:04.588 27919 27919 E AndroidRuntime: java.lang.IncompatibleClassChangeError:
   Found interface androidx.compose.ui.graphics.drawscope.DrawScope, but class was expected

It turns out that in 2020 there was a refactor of the androidx.compose.ui.graphics library, where DrawScope was changed from a class to an interface.

https://android.googlesource.com/platform//frameworks/support/+/613cf6e98dbd7e154ae8039ff055a86d00e2e3f3%5E%21/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt

The included androidx.compose.ui.graphics library in the apk is recent and so DrawScope is an interface. I think it somehow gets mixed up with an older version of the library which expects DrawScope to still be a class.

Why that is I don’t know. What I do know is that it gets triggered by the reconstruction of the .dex file that contains the androidx.compose.ui.graphics library. I my case this is classes.dex and the apk containts 11 dex files in total. When I replace the reconstructed classes.dex with the original one and keep the reconstructed classes2.dex till classes11.dex files, the apk installs and runs fine.

As I only needed to work on classes8.dex, this was a work-around for me. But I would like the issue to be fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants