i am facing a weird problem . i am using compose ...
# compose
a
i am facing a weird problem . i am using compose richtext printing .https://github.com/halilozercan/compose-richtext and in my debug build its okey but after releasing to play store its not working . i tried release build with debuggable true still no problem . so am releasing close testing android 5 times a day . and still same problem . i reverse back to my old compose version , no luck . tried current alpha , no luck . 1 . am i doing it right to release closed test for no reason ? is there a proper way to debug release build that reproduce exact apk like google play ? 2 .how can i remove closed test apk from play store ? my version code keep increasing . 3 .whats the problem with my release build ? here is the release error when i see logcat . java.lang.NullPointerException: Attempt to read from field ‘java.lang.String h2.j.a’ on a null object reference in method ‘h2.c h2.i.b(t0.b, h2.j)’ at h2.i.b(SourceFile:1244) at h2.i.b(SourceFile:911) at h2.i.b(SourceFile:911) at h2.i.b(SourceFile:911) at h2.i.b(SourceFile:911) at y6.x$b.k(SourceFile:26) at s9.a.l(Unknown Source:8) at ha.n0.run(Unknown Source:100) at androidx.compose.ui.platform.m0.X(SourceFile:23) at androidx.compose.ui.platform.m0$c.run(SourceFile:3) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7894) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:550) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Suppressed: ha.l0: [androidx.compose.ui.platform.t1@21ff2d6, j0.e@b1bc957, x1{Cancelling}@2776c44, m0@6e012d] thanks in advance .
1
🧵 3
c
@Halil Ozercan?
a
here is the screen record on emulator and real device ( app downloaded from google play ) also my app link . first create a note then view it . pdf icon is where i use this . https://play.google.com/store/apps/details?id=com.blogspot.lineagenote&pli=1
c
If you build an release version with proguard enabled, a mapping file is produced called
mapping.txt
in your build folder. This file can be used to deobfuscate the error stack trace using Proguard Retrace. https://www.guardsquare.com/manual/tools/retrace Then you can actually see where in the “original” code, the null pointer happens.
a
at last error in play console . log =
Copy code
Exception java.lang.NullPointerException:
  at androidx.compose.ui.tooling.data.SourceInformationContext.getName (SourceInformationContext.java:1244)
  at androidx.compose.ui.tooling.data.SlotTreeKt.getGroup (SlotTreeKt.java:1244)
  at androidx.compose.ui.tooling.data.SlotTreeKt.getGroup (SlotTreeKt.java:911)
  at androidx.compose.ui.tooling.data.SlotTreeKt.getGroup (SlotTreeKt.java:911)
  at androidx.compose.ui.tooling.data.SlotTreeKt.getGroup (SlotTreeKt.java:911)
  at androidx.compose.ui.tooling.data.SlotTreeKt.getGroup (SlotTreeKt.java:911)
  at androidx.compose.ui.tooling.data.SlotTreeKt.asTree (SlotTreeKt.java:26)
  at com.zachklipp.richtext.ui.printing.PagedKt$MeasureBreakpoints$2.invokeSuspend (PagedKt.java:26)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (BaseContinuationImpl.java)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.java)
  at androidx.compose.ui.platform.AndroidUiDispatcher.performTrampolineDispatch (AndroidUiDispatcher.java:23)
  at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.run (AndroidUiDispatcher.java:3)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:236)
  at android.app.ActivityThread.main (ActivityThread.java:8049)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:620)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1011)
fixed : need to minify false ( pro-guard -keep ) the library and its dependencies .