Status Update
Comments
il...@google.com <il...@google.com>
da...@google.com <da...@google.com> #2
Thanks for reporting this! So far a not-so-great workaround is to force an update on room-runtime
via an explicit dependency to androidx.room:room-runtime:2.7.0-rc02
.
Meanwhile we'll work on fixing this.
da...@google.com <da...@google.com> #3
The root cause is that various API*Impl
classes were removed in aosp/2816664 and we failed to realize that the APIs were being used across library groups (androidx.room using androidx.sqlite) and since the APIs introduction in aosp/1724634 were marked with @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
our API check tools didn't catch the ABI incompatible removal of them later on. Room 2.6.1 (latest stable) still uses the APIs that where removed and whose first release without them was androidx.sqlite:sqlite2.5.0-alpha01
, hence the crash due to the missing class.
Note here that WorkManager 2.10.0 depends on Room version 2.6.1 which is why it is the addition of WorkManager that surfaces this, while androidx.sqlite:sqlite-bundled
depends on androidx.sqlite
and using rc02
transitively bumps the version for WorkManager's Room.
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
Author: Daniel Santiago Rivera <
Link:
Partially revert aosp/2816664
Expand for full commit details
Partially revert aosp/2816664
In aosp/2816664 various API*Impl classes where removed due to the minSdk being incremented. However, the APIs removed where not exclusively used by androidx.sqlite and some of them where used by androidx.room regardless of the APIs being incorrectly marked with `@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)` which made it seem safe to remove such APIs. However, the APIs are effectively public and removing them is a binary incompatible change.
This change partially reverts the removal of the APIs used by Room to continue keeping ABI compatibility.
Bug: 402796648
Test: Manual on sample project with Room 2.6.1 and ToT SQLite
Relnote: Reintroduce incorrectly removed restricted APIs.
Change-Id: I5fb9c8a746704431109f51d851e56df856a8a4df
Files:
- M
sqlite/sqlite/api/restricted_2.5.0-beta01.txt
- M
sqlite/sqlite/api/restricted_current.txt
- M
sqlite/sqlite/src/androidMain/kotlin/androidx/sqlite/db/SupportSQLiteCompat.android.kt
Hash: f8705361fb1c36de8ec9ec46a781bf886b4349f5
Date: Thu Mar 13 16:08:35 2025
da...@google.com <da...@google.com> #5
Retrospective on this issue can be found at
Description
Component used: work-runtime-ktx Version used: 2.10.0
I added a simple worker to my project that is using the new androidx.sqlite bundled library (2.5.0-rc02), and I get the following crash: