https://kotlinlang.org logo
#compose-wear
Title
# compose-wear
f

florent

03/18/2024, 12:08 AM
Hi, what does that means?
> Task appwear:minifyReleaseWithR8 FAILED
ERROR: R8: java.lang.NullPointerException: Cannot invoke "com.android.tools.r8.graph.D0.C1()" because the return value of "com.android.tools.r8.graph.x.d(com.android.tools.r8.graph.H2)" is null
I am having it when doing release build with
com.android.application
at 8.4.0-alpha13, but it isn't happening with my mobile companion app. I have tried to Google it but I haven't found much relevant stuff
1
y

yschimke

03/18/2024, 5:38 AM
File a bug against R8, but I guess they will want a repro or some logs.
There are links for filing bugs https://r8.googlesource.com/r8/#getting-help
Looking at recent issues, there have been issues with JVM target, or the JDK used for building (20 vs 17) and also issues fixed in latest desugar libs.
f

florent

03/18/2024, 12:51 PM
like specific to wear? I have tried with the 8.3.0, it is working fine
y

yschimke

03/18/2024, 1:06 PM
No. But I just meant it could be some incidental wear thing. Like it has a different dep that triggers a bug.
f

florent

03/18/2024, 1:24 PM
well the only dependencies I have on wear are:
Copy code
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$core_lib_desugaring"

    api "androidx.wear.compose:compose-material:$wear_compose_version"
    api "androidx.wear.compose:compose-foundation:$wear_compose_version"

    implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlin_serialization"

    implementation "androidx.wear:wear-ongoing:1.0.0"

    ksp "me.tatarka.inject:kotlin-inject-compiler-ksp:$kotlin_inject_version"
Then it is probably a bug on the wear-ongoing dep?
nan I have removed it, same issue
so I only see compose then
y

yschimke

03/18/2024, 1:32 PM
I can't help you. I don't know why it's happening. You'll need to file an R8 bug.
f

florent

03/18/2024, 1:36 PM
ok I will leave it like that for now, if someone has the same issue, they can find this conversation
solved I had
Copy code
sealed class Example {
   sealed class Test : Example() {
      data object Loading : Test()
   }
}
The sealed class aren't supported apparently, if you swap them to sealed interface it works well
👍🏻 1