Status Update
Comments
il...@google.com <il...@google.com> #2
Please include a sample project that reproduces your issue.
ga...@freeletics.com <ga...@freeletics.com> #3
Sample project attached. Just add to plain project this dependencies allow to reproduce.
def emoji2_version = "1.1.0-beta01"
implementation "androidx.emoji2:emoji2:$emoji2_version"
def lifecycle_version = "2.5.0-alpha01"
implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"
mg...@google.com <mg...@google.com>
Ni...@fressnapf.com <Ni...@fressnapf.com> #4
The reason may be related to 2.4.0
of lifecycle-process
as workaround.
mg...@google.com <mg...@google.com> #5
Yes, this is due to this change, as well as the fact that EmojiCompatInitializer has a ProcessLifecycleInitializer as a dependency and also re-calls it, but in manual mode.
mg...@google.com <mg...@google.com> #6
ProcessLifecycleInitializer
is expected to already be initialized (via the manifest provider
for App Startup) by the time that code runs - App Startup shouldn't be calling create
if that component has already been initialized, hence you shouldn't get any exception. We'll take a look on where things are breaking down though.
ap...@google.com <ap...@google.com> #7
Thanks for the answer.
As I understand EmojiCompatInitializer has ProcessLifecycleInitializer as a appInitializer.initializeComponent(ProcessLifecycleInitializer.class)
Maybe it would be more correct to create a bug in emoji-2, but let it be here.
nu...@traderepublic.com <nu...@traderepublic.com> #8
This issue isn't related to emoji2, it could be reproduced easily with the lifecycle-process
(2.4.0 -> 2.5.0-alpha01) only.
mg...@google.com <mg...@google.com> #9
Branch: androidx-main
commit 97993ad954cb98211ef52b6e26c7877dbdeeec1c
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Feb 01 17:06:11 2022
Bump lifecycle process start-up dependency to 1.1.1
Bumping the startup dependency to include aosp/1855769.
RelNote: "Updated `lifecycle-process` to depend on [Startup 1.1.1](/jetpack/androidx/releases/startup#1.1.1) to ensure that fixes that prevent `ProcessLifecycleInitializer` from throwing a `StartupException` are available by default."
Bug: 216490724
Test: tested in sample app
Change-Id: Ib01dfbba1d63aa03e43e09ee8886cc76e1050e1b
M lifecycle/lifecycle-process/build.gradle
pr...@google.com <pr...@google.com> #10
This has been fixed internally and will be released in the Lifecycle 2.5.0-alpha02
release.
m....@gmail.com <m....@gmail.com> #11
When will start-up 1.1.1
release?
mg...@google.com <mg...@google.com> #12
It should be out before the end of the week.
m....@gmail.com <m....@gmail.com> #13
Seems to be good now. Thanks!
mg...@google.com <mg...@google.com> #14
Lifecycle 2.8.3 is now available on
pe...@mohemian.com <pe...@mohemian.com> #15
I'm still getting "java.lang.IllegalStateException: CompositionLocal LocalLifecycleOwner not present" with 2.8.3 in release builds (with obfuscation enabled). Adding
-keep class androidx.compose.ui.platform.AndroidCompositionLocals_androidKt { *; }
to my ProGuard rules fixes the issue. Any advice?
In my setup I have an app that's using the lifecycle dependencies directly, but some other dependencies of mine also include the same (and these libraries are obfuscated too) - not sure if this makes a difference.
mg...@google.com <mg...@google.com> #16
I'm unable to offer advice since I can't replicate the issue you're experiencing -- but based on your message, it appears Lifecycle "should" be working correctly.
Would you please
pr...@google.com <pr...@google.com> #17
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.lifecycle:lifecycle-runtime-compose:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-compose-android:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-compose-desktop:2.9.0-alpha01
Description
This is basically an follow-up of https://issuetracker.google.com/issues/336842920 .
Component used:
Version used:
Devices/Android versions reproduced on: Android 14
We see the the following crashes directly at app start when using R8 (with default AGP 8.x fullMode enabled): IllegalStateException: CompositionLocal LocalLifecycleOwner not present
We saw the added proguard rules inhttps://android-review.googlesource.com/c/platform/frameworks/support/+/3105647/21/lifecycle/lifecycle-runtime-compose/proguard-rules.pro
Changing them to
fixes the crash.
So it seems the keep rule is currently not sufficient to make 2.8.2 compatible with Compose 1.6 when minify the build.