Kyle Lehman
05/17/2021, 3:40 PM@Preview
composables in AS (currently Canary 15) with an error similar to this?
java.lang.NoClassDefFoundError: androidx/lifecycle/runtime/R$id
at androidx.lifecycle.ViewTreeLifecycleOwner.set(ViewTreeLifecycleOwner.java:49)
at androidx.compose.ui.tooling.preview.ComposeViewAdapter.init(ComposeViewAdapter.kt:612)
at androidx.compose.ui.tooling.preview.ComposeViewAdapter.<init>(ComposeViewAdapter.kt:206)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
This is only happening for some members on our team but once it does its persistent and the only way to get it to compile is add the following dependencies which doesnt seem necessary:
androidx.savedstate:savedstate-ktx
androidx.lifecycle:lifecycle-viewmodel-compose
androidx.lifecycle:lifecycle-runtime-ktx
androidx-core-ktx
Chris Sinco [G]
05/17/2021, 4:24 PMidea.log
for this? That would be very helpful for the team.
cc @nosuidKyle Lehman
05/17/2021, 4:27 PMidea.log
after you encounter this error?eschrag
05/17/2021, 4:29 PMeschrag
05/17/2021, 4:31 PMKyle Lehman
05/17/2021, 4:31 PMChris Sinco [G]
05/17/2021, 4:31 PMChris Sinco [G]
05/17/2021, 4:31 PMeschrag
05/17/2021, 4:31 PMeschrag
05/17/2021, 4:32 PMKyle Lehman
05/17/2021, 4:35 PMsed 's/voldemort/he-who-must-not-be-named/g' idea.log
?eschrag
05/17/2021, 4:37 PM2021-05-17 12:35:13,262 [2621923] INFO - ild.invoker.GradleBuildInvoker - About to execute Gradle tasks: [:lib:buttons:compileDebugKotlin]
2021-05-17 12:35:13,309 [2621970] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /Users/eschra000/.sdkman/candidates/java/current
2021-05-17 12:35:13,310 [2621971] INFO - ild.invoker.GradleBuildInvoker - Build command line options: [--continue, -Pandroid.injected.invoked.from.ide=true, -Pandroid.injected.studio.version=2020.3.1 Canary 15, -Pandroid.injected.attribution.file.location=/Users/eschra000/dev-work/android-soft-remote/.gradle]
2021-05-17 12:35:13,312 [2621973] INFO - xecution.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: --continue -Pandroid.injected.invoked.from.ide=true -Pandroid.injected.studio.version=2020.3.1 Canary 15 -Pandroid.injected.attribution.file.location=/Users/eschra000/dev-work/android-soft-remote/.gradle
2021-05-17 12:35:13,344 [2622005] INFO - s.literals.LiveLiteralsService - Editor is view only, no literal tracking will be used.
2021-05-17 12:35:13,349 [2622010] INFO - s.literals.LiveLiteralsService - Editor is view only, no literal tracking will be used.
2021-05-17 12:35:15,002 [2623663] INFO - ild.invoker.GradleBuildInvoker - Gradle build finished in 1 s 673 ms
Colton Idle
05/17/2021, 5:25 PMColton Idle
05/17/2021, 5:27 PMnosuid
05/17/2021, 9:24 PMeschrag
05/18/2021, 1:10 AMGeorge Kylafas
08/04/2021, 12:11 PMimplementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version")
implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version")
to a *library module*'s build.gradle
for the previews to work.
Otherwise, AS reported rendering problems with stacktrace:
java.lang.NoClassDefFoundError: androidx/lifecycle/runtime/R$id
at androidx.lifecycle.ViewTreeLifecycleOwner.set(ViewTreeLifecycleOwner.java:49)
at androidx.compose.ui.tooling.ComposeViewAdapter.init(ComposeViewAdapter.kt:620)
at androidx.compose.ui.tooling.ComposeViewAdapter.<init>(ComposeViewAdapter.kt:214)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:399)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:189)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:147)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:303)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:417)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:428)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:332)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
at android.view.LayoutInflater.inflate(LayoutInflater.java:657)
at android.view.LayoutInflater.inflate(LayoutInflater.java:499)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:353)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:431)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:141)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:714)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$7(RenderTask.java:870)
at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$2.run(RenderExecutor.kt:187)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Chris Sinco [G]
08/04/2021, 9:48 PMGeorge Kylafas
08/05/2021, 9:16 AMdarkmoon_uk
08/28/2021, 2:54 PM@Preview
'ing in a library module - this seems a completely reasonable thing to do, I would expect Compose documentation to make it very clear if it were unsupported from Library Modules?darkmoon_uk
08/28/2021, 2:55 PMdarkmoon_uk
08/28/2021, 2:57 PMGeorge Kylafas
09/14/2021, 2:36 PMAndrew Hughes
01/21/2022, 6:06 AM