Fixed
Status Update
Comments
ma...@google.com <ma...@google.com>
ap...@google.com <ap...@google.com> #2
Thanks for reporting this. We will take a look at FBE and try to land a fix in a future release. In the meantime, as the exception notes, you will want to initialize WorkManager in Application.onCreate or via a ContentProvider to avoid the error.
ap...@google.com <ap...@google.com> #3
Initialize WorkManager in Application.onCreate or via a ContentProvider may cause other error:
08-07 14:03:13.261 5869 5869 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider androidx.work.impl.WorkManagerInitializer: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:6366)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.installContentProviders(ActivityThread.java:5910)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5818)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.-wrap1(Unknown Source:0)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1717)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6618)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: Caused by: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:387)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:372)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:167)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.utils.IdGenerator.<init>(IdGenerator.java:47)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.<init>(SystemJobScheduler.java:69)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.<init>(SystemJobScheduler.java:55)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.Schedulers.createBestAvailableBackgroundScheduler(Schedulers.java:114)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerImpl.getSchedulers(WorkManagerImpl.java:228)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerImpl.<init>(WorkManagerImpl.java:179)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerImpl.<init>(WorkManagerImpl.java:151)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerImpl.initialize(WorkManagerImpl.java:133)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.WorkManager.initialize(WorkManager.java:160)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerInitializer.onCreate(WorkManagerInitializer.java:40)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.content.ContentProvider.attachInfo(ContentProvider.java:1928)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.content.ContentProvider.attachInfo(ContentProvider.java:1903)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:6363)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: ... 10 more
I will try other ways.
08-07 14:03:13.261 5869 5869 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider androidx.work.impl.WorkManagerInitializer: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:6366)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.installContentProviders(ActivityThread.java:5910)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5818)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.-wrap1(Unknown Source:0)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1717)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6618)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: Caused by: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:387)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:372)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:167)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.utils.IdGenerator.<init>(IdGenerator.java:47)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.<init>(SystemJobScheduler.java:69)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.<init>(SystemJobScheduler.java:55)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.Schedulers.createBestAvailableBackgroundScheduler(Schedulers.java:114)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerImpl.getSchedulers(WorkManagerImpl.java:228)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerImpl.<init>(WorkManagerImpl.java:179)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerImpl.<init>(WorkManagerImpl.java:151)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerImpl.initialize(WorkManagerImpl.java:133)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.WorkManager.initialize(WorkManager.java:160)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at androidx.work.impl.WorkManagerInitializer.onCreate(WorkManagerInitializer.java:40)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.content.ContentProvider.attachInfo(ContentProvider.java:1928)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.content.ContentProvider.attachInfo(ContentProvider.java:1903)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:6363)
08-07 14:03:13.261 5869 5869 E AndroidRuntime: ... 10 more
I will try other ways.
ma...@google.com <ma...@google.com>
ch...@google.com <ch...@google.com> #4
This may actually be fixed in alpha07 (launching later today), but we will take a closer look and get back to you.
ma...@google.com <ma...@google.com>
pr...@google.com <pr...@google.com> #5
Are you enqueuing Work with WorkManager while in Direct Boot mode (i.e., before the device is unlocked)?
Description
Due to b/309858620 we need a workaround for library profiles in pre agp 8.3.0-alpha15.
When not meeting min agp version, for libraries we can only always merge the profile for all build type and flavors and output it in
src/main/baseline-prof.txt
.