Core
androidx.core.animation
androidx.core.app
androidx.core.content
androidx.core.role
androidx.core.view
(请参阅所有核心软件包的参考文档)
下表列出了 androidx.core
组中的所有制品。
制品 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
core | 1.15.0 | - | - | 1.16.0-alpha01 |
core-animation | 1.0.0 | - | - | - |
core-google-shortcuts | 1.1.0 | - | - | 1.2.0-alpha01 |
core-performance | 1.0.0 | - | - | - |
core-remoteviews | 1.1.0 | - | - | - |
core-role | 1.0.0 | 1.1.0-rc01 | - | - |
core-splashscreen | 1.0.1 | 1.1.0-rc01 | - | 1.2.0-alpha02 |
声明依赖项
如需添加 Core 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项:
Groovy
dependencies { def core_version = "1.15.0" // Java language implementation implementation "androidx.core:core:$core_version" // Kotlin implementation "androidx.core:core-ktx:$core_version" // To use RoleManagerCompat implementation "androidx.core:core-role:1.0.0" // To use the Animator APIs implementation "androidx.core:core-animation:1.0.0" // To test the Animator APIs androidTestImplementation "androidx.core:core-animation-testing:1.0.0" // Optional - To enable APIs that query the performance characteristics of GMS devices. implementation "androidx.core:core-performance:1.0.0" // Optional - to use ShortcutManagerCompat to donate shortcuts to be used by Google implementation "androidx.core:core-google-shortcuts:1.1.0" // Optional - to support backwards compatibility of RemoteViews implementation "androidx.core:core-remoteviews:1.1.0" // Optional - APIs for SplashScreen, including compatibility helpers on devices prior Android 12 implementation "androidx.core:core-splashscreen:1.2.0-alpha02" }
Kotlin
dependencies { val core_version = "1.15.0" // Java language implementation implementation("androidx.core:core:$core_version") // Kotlin implementation("androidx.core:core-ktx:$core_version") // To use RoleManagerCompat implementation("androidx.core:core-role:1.0.0") // To use the Animator APIs implementation("androidx.core:core-animation:1.0.0") // To test the Animator APIs androidTestImplementation("androidx.core:core-animation-testing:1.0.0") // Optional - To enable APIs that query the performance characteristics of GMS devices. implementation("androidx.core:core-performance:1.0.0") // Optional - to use ShortcutManagerCompat to donate shortcuts to be used by Google implementation("androidx.core:core-google-shortcuts:1.1.0") // Optional - to support backwards compatibility of RemoteViews implementation("androidx.core:core-remoteviews:1.1.0") // Optional - APIs for SplashScreen, including compatibility helpers on devices prior Android 12 implementation("androidx.core:core-splashscreen:1.2.0-alpha02") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
Core-Viewtree 版本 1.0
版本 1.0.0-alpha01
2024 年 12 月 11 日
发布了 androidx.core:core-viewtree:1.0.0-alpha01
。版本 1.0.0-alpha01 包含这些提交内容。
新功能
core-viewtree
的初始版本,由 androidx core 传递公开。此初始版本引入了 View 可以具有不相交父级的概念。视图的析取父项是一个单独的
View
对象,可用作视图的父项,但未通过View.parent
属性进行设置。具有不相交父级的 View 示例包括ViewOverlays
、弹出式窗口和对话框,它们都显示在主 View 层次结构之外。只有当 View 没有通过平台的View.parent
属性具有直接父项时,才能具有不相交的父项。目前,androidx 仅为由转场效果创建的ViewOverlays
设置不相交的父项。您还可以为视图指定自己的不相交的父级。如需了解详情,请参阅相关文档。
API 变更
- 添加了
ViewParent.getParentOrViewTreeDisjointParent()
和ViewParent.setViewTreeDisjointParent(View, ViewParent?)
方法 (Ib2950)
Core-i18n Core-location-altitude 版本 1.0。
版本 1.0.0-alpha03
2024 年 10 月 16 日
发布了 androidx.core:core-location-altitude:1.0.0-alpha03
、androidx.core:core-location-altitude-external-protobuf:1.0.0-alpha03
和 androidx.core:core-location-altitude-proto:1.0.0-alpha03
。版本 1.0.0-alpha03 包含这些提交内容。
安全修复
- 从此变更开始,androidx 会针对 protobuf 4.28.2 进行编译,以解决 CVE-2024-7254。将对
androidx.core:core-location-altitude-proto
和androidx.core:core-location-altitude-external-protobuf
的依赖项升级到 1.1.0-alpha03,以解决漏洞风险。
bug 修复
- 移除了手动说明对新平台 API 的访问权限,因为当将 R8 与 AGP 7.3 或更高版本(例如 R8 版本 3.3)搭配使用时,系统会通过 API 建模自动执行此操作;当使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)时,系统会针对所有 build 自动执行此操作。建议不使用 AGP 的客户更新到 D8 8.1 或更高版本。如需了解详情,请参阅这篇文章。(Ieb9ae、b/345472586)
版本 1.0.0-alpha02
2024 年 6 月 12 日
发布了 androidx.core:core-location-altitude:1.0.0-alpha02
、androidx.core:core-location-altitude-external-protobuf:1.0.0-alpha02
和 androidx.core:core-location-altitude-proto:1.0.0-alpha02
。版本 1.0.0-alpha02 包含这些提交内容。
bug 修复
- 修复了由重新打包 proto 库导致的 proguard 失败问题。
外部贡献
- 上述 bug 修复由 andrekir@pm.me 提供
版本 1.0.0-alpha01
2023 年 7 月 26 日
发布了 androidx.core:core-i18n:1.0.0-alpha01
和 androidx.core:core-location-altitude:1.0.0-alpha01
。版本 1.0.0-alpha01 中包含这些提交内容。
新功能
- 添加了包含单个静态方法
addMslAltitudeToLocation(Context, Location)
的AltitudeConverterCompat
类 (I11168)。
Core-telecom 版本 1.0。
版本 1.0.0-beta01
2024 年 12 月 11 日
发布了 androidx.core:core-telecom:1.0.0-beta01
。版本 1.0.0-beta01 包含这些提交内容。
新功能
以下新功能的 Beta 版:
- 在添加通话之前提取可用的音频端点。应用开发者现在可以在发起通话之前显示所有可用端点,以便用户顺畅地选择首选音频端点并优化设置。这样一来,您无需在通话开始时进行通话内调整,从而获得更顺畅的体验。
- 对 VOIP 应用通话扩展程序的实验性 API 支持。借助通话扩展程序,应用可以提供有关正在进行的通话的更多详细信息,例如群组通话或会议的参与者列表。然后,支持的远程界面(例如 Android Auto)就可以向用户显示此信息,并允许用户与受支持的扩展程序互动。此版本中添加的新实验性扩展程序如下:
- 支持显示群组通话或会议中的参与者,并说明哪些参与者处于活跃状态。支持对参与者执行以下可选操作:
- 举手和放下手。
- 踢出参与者。
- 支持通话静音,这样远程界面就可以静音 VOIP 通话,而无需全局静音麦克风。
- 支持显示群组通话或会议中的参与者,并说明哪些参与者处于活跃状态。支持对参与者执行以下可选操作:
API 变更
- 将
addLocalSilenceExtension
重命名为addLocalCallsilenceExtension
(If4a9c) - 将
preferredStartingCallEndpoint
从var
更改为val
。(Iab6b7) - 添加了本地通话静音 API (I29dd0)
- 为
CallEndpointCompat
类实现compareTo
函数 (Ia06b7) - 添加了实验性应用有关操作 API。(Ifb796)
- 添加了新的
CallsManager
APIgetAvailableStartingCallEndpoints
(Ia8bcf) - 更新了
ExperimentalAppActions
注解,以确保其准确跟踪实验性功能的所有使用情况。(Id5ea5)
bug 修复
- 为 Android API 级别 28 到 33 添加了全局静音状态接收器。(I75e66)
- 修复了以下问题:只有最近连接的
InCallService
才能发送操作事件 (I39599) - 为 VoIP 应用操作实现了 ICS Extensions API。(I1274c)
- 现在,在 API 级别 34 之前拒绝通话会在 Telecom 中正确销毁通话。(I635b7)
addCall
现在会通过 API(而非父协程)正确抛出异常 (I83334)- 向 extras 软件包添加占位符值 (Iebf7f)
- 移除了手动说明对新平台 API 的访问权限,因为当将 R8 与 AGP 7.3 或更高版本(例如 R8 版本 3.3)搭配使用时,系统会通过 API 建模自动执行此操作;当使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)时,系统会针对所有 build 自动执行此操作。建议不使用 AGP 的客户更新到 D8 8.1 或更高版本。如需了解详情,请参阅这篇文章。(Ieb9ae、b/345472586)
- 向
CallsManager#addCall
添加了对扩展程序的实验性支持。(I24d92) - 如果平台因异常、达到最大通话次数等原因而未能添加通话,Core-Telecom 现在会抛出
CallException
(I41f27)
版本 1.0.0-alpha03
2024 年 4 月 17 日
发布了 androidx.core:core-telecom:1.0.0-alpha03
。版本 1.0.0-alpha03 包含这些提交内容。
bug 修复
- 重构了
JetpackConnectionService
,以修正 SDK 33 及更低版本中传入的地址为空时发生的问题。经过重构的JetpackConnectionService
还能对来自 Telecom 平台 API 的意外 NULL 值具有弹性。 - 改进了
addCall/CallControlScope
API 文档。 - 改进了测试可靠性。
版本 1.0.0-alpha02
2023 年 10 月 4 日
发布了 androidx.core:core-telecom:1.0.0-alpha02
。版本 1.0.0-alpha02 中包含这些提交内容。
API 变更
- 改进了返回布尔值以指示成功/失败的方法的 API 签名,改为返回结果类,以明确指明操作成功或失败的原因。
- 将
CallControlCallback
方法作为 lambda 参数移到了addCall
,这样就无需在调用作用域中显式提供回调。
bug 修复
- 修复了
ConnectionService
兼容性层中的一个 bug,该 bug 会导致在针对 Android U 之前的 SDK 运行时没有通话音频。 - 改进 API 文档。
版本 1.0.0-alpha01
2023 年 5 月 10 日
发布了 androidx.core:core-telecom:1.0.0-alpha01
。此版本是在内部分支中开发的,应与 Android 14 Beta 2 搭配使用。
新功能
引入了
CallsManager
API,VoIP 应用可以使用该 API 与设备上的 Telecom 框架集成。向平台发送的通话可获享前台执行优先级、在蓝牙、穿戴式设备和汽车设备上的可见性,以及简化的音频路由。CallsManager
API 会为搭载旧版 Android 的设备封装旧版ConnectionService
API。
Core 和 Core-ktx 版本 1.16
版本 1.16.0-alpha01
2024 年 12 月 11 日
发布了 androidx.core:core:1.16.0-alpha01
、androidx.core:core-ktx:1.16.0-alpha01
和 androidx.core:core-testing:1.16.0-alpha01
。版本 1.16.0-alpha01 包含这些提交内容。
API 变更
- 为
ActivityOptionsCompat
添加了setLaunchDisplayId
。(I39e77、b/379669743) - 为
SYSTEM_OVERLAYS
添加了兼容 API。(Ibd1fd、b/287470173) - 添加了
OutcomeReceiverCompat
,这是适用于所有 API 级别的 AndroidOutcomeReceiver
版本。(Ib8265、b/380060342) - 为
android.view.ScrollFeedbackProvider
添加了兼容性类。(Icaa92) - 添加了
ViewCompat.addViewOverlay(View)
作为View.getOverlay().add(View)
的替代方案。ViewCompat
变体修复了以下问题:在被叠加的视图和叠加层所有者之间无法解析LifecycleOwner
和ViewModelStoreOwner
等所有者。(I81413) - 引入了
View
可以具有不相交父项的概念。视图的析取父视图是另一个视图的有效父视图,但并非通过View.parent
属性设置。如需了解详情,请参阅相关文档。(Ib2950) - 添加了新的 API
ViewGroupCompat#installCompatInsetsDispatch
,供开发者修复 API 30 之前存在的内边距调度问题。(I11159) - 添加了
FontsContractCompat.TypefaceStyle
IntDef,用于在FontsContractCompat
中为Typeface
样式添加注解。(Ib3e5b)
外部贡献
- 已废弃
BuildCompat.isAtLeastV
。调用方应改为直接将SDK_INT
与 35 进行比较。感谢 Jake Wharton!(I294d1) - 向
TaskStackBuilder
添加了可变性标志。感谢 Kamal Faraj!(Ife0ec、b/371534781)
Core 和 Core-ktx 版本 1.15
版本 1.15.0
2024 年 10 月 30 日
发布了 androidx.core:core:1.15.0
、androidx.core:core-ktx:1.15.0
和 androidx.core:core-testing:1.15.0
。版本 1.15.0 包含这些提交内容。
自 1.14.0 以来的重要变更
- 移除了手动说明对新平台 API 的访问权限,因为当将 R8 与 AGP 7.3 或更高版本(例如 R8 版本 3.3)搭配使用时,系统会通过 API 建模自动执行此操作;当使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)时,系统会针对所有 build 自动执行此操作。建议不使用 AGP 的客户更新到 D8 8.1 或更高版本。如需了解详情,请参阅这篇文章。(Ieb9ae、b/345472586)
- 对兼容性类进行了多项更新,以与 Android 15 SDK 保持一致。
版本 1.15.0-rc01
2024 年 10 月 16 日
发布了 androidx.core:core:1.15.0-rc01
、androidx.core:core-ktx:1.15.0-rc01
和 androidx.core:core-testing:1.15.0-rc01
。与上一个版本相比,1.15.0-rc01 版没有任何变化。
版本 1.15.0-beta01
2024 年 10 月 2 日
发布了 androidx.core:core:1.15.0-beta01
、androidx.core:core-ktx:1.15.0-beta01
和 androidx.core:core-testing:1.15.0-beta01
。版本 1.15.0-beta01 包含这些提交内容。
API 变更
- 向
CollectionInfoCompat
添加了itemCount
和importantForAccessibilityItemCount
字段。(Ibaf34)
bug 修复
- 修复了
androidx.core.os.Profiling
中的文档问题 (I2542f)
版本 1.15.0-alpha02
2024 年 8 月 21 日
发布了 androidx.core:core:1.15.0-alpha02
、androidx.core:core-ktx:1.15.0-alpha02
和 androidx.core:core-testing:1.15.0-alpha02
。版本 1.15.0-alpha02 包含这些提交内容。
重要变更
- 移除了手动说明对新平台 API 的访问权限,因为当将 R8 与 AGP 7.3 或更高版本(例如 R8 版本 3.3)搭配使用时,系统会通过 API 建模自动执行此操作;当使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)时,系统会针对所有 build 自动执行此操作。建议不使用 AGP 的客户更新到 D8 8.1 或更高版本。如需了解详情,请参阅这篇文章。(Ieb9ae、b/345472586)
API 变更
- 向可下载字体定义添加了
fallbackQuery
XML 属性,以允许使用可下载字体进行字符级回退。(Idd544) - 添加了用于使用
ProfilingManager
的辅助 API (If2292) - 为
ActivityOptions.setPendingIntentBackgroundActivityStartMode
添加了兼容方法 (I3ba1f、b/349617674) - 添加了
DisplayCutoutCompat.getCutoutPath
(I58778、b/279635904) - 还原了
ParcelCompat.writeBoolean
的废弃,并在 API 级别 29 及更高版本上委托给平台 API。(I9d243、b/313834577) - 创建了接受执行器的
FontsContractCompat.requestFonts
(I03016、b/302377512) - 还原了
LocationCompat.isMock
的废弃,并在 API 级别 31 及更高版本上委托给平台 API。(I55940、b/313834577) - 现在,通知可以标记为语音信息。(I068ab)
版本 1.15.0-alpha01
2024 年 6 月 12 日
发布了 androidx.core:core:1.15.0-alpha01
、androidx.core:core-ktx:1.15.0-alpha01
和 androidx.core:core-testing:1.15.0-alpha01
。此版本是在内部分支中开发的,与 Android 15 Beta 3 (android-35
) 兼容。
API 变更
- 对兼容性类进行了多项更新,以与 Android 15 SDK 保持一致。
Core 和 Core-ktx 版本 1.14
版本 1.14.0-alpha01
2024 年 5 月 1 日
发布了 androidx.core:core:1.14.0-alpha01
、androidx.core:core-ktx:1.14.0-alpha01
和 androidx.core:core-testing:1.14.0-alpha01
。版本 1.14.0-alpha01 包含这些提交内容。
新功能
- 将 21 作为 androidx 库的默认
minSdkVersion
(I6ec7f)
API 变更
- 弃用了其他已过时的兼容性方法。(Ie4470、b/313834577)
- 废弃了已过时的兼容性方法。(I01d90、b/313834577)
- 更新了
isAtLeastV()
,以便针对最终确定的 V SDK 返回 true。(I6339a)
Core 和 Core-ktx 版本 1.13
版本 1.13.1
2024 年 5 月 1 日
发布了 androidx.core:core:1.13.1
、androidx.core:core-ktx:1.13.1
和 androidx.core:core-testing:1.13.1
。版本 1.13.1 包含这些提交内容。
bug 修复
- 修复了以下问题:显示手写工具栏时,手指点按无法切换到常规键盘 (I7f843、b/332769437)
版本 1.13.0
2024 年 4 月 17 日
发布了 androidx.core:core:1.13.0
、androidx.core:core-ktx:1.13.0
和 androidx.core:core-testing:1.13.0
。版本 1.13.0 包含这些提交内容。
自 1.12.0 以来的重要变更
- 该库的
minSdkVersion
已提升至19
。许多兼容性 API 已被标记为已废弃,因为它们仅在 API 级别 19 之前需要。 - 我们使用 Kotlin 重写了多个类,以便在保留 Java 兼容性的同时,更好地与 Kotlin 使用方实现互操作。
- 移除了
FingerprintManagerCompat
,该方法从 Android V 开始就没有任何操作,不应在较低版本的平台上使用。客户端应立即迁移到BiometricPrompt
。 - 添加了
PathParser
,可从 SVG 路径字符串创建 Path 实例。
版本 1.13.0-rc01
2024 年 4 月 3 日
发布了 androidx.core:core:1.13.0-rc01
、androidx.core:core-ktx:1.13.0-rc01
和 androidx.core:core-testing:1.13.0-rc01
。版本 1.13.0-rc01 包含这些提交内容。
bug 修复
- 修复了在 API 30 及更高版本中检索初始系统栏外观的问题(I18596、b/219993701)
版本 1.13.0-beta01
2024 年 3 月 20 日
发布了 androidx.core:core:1.13.0-beta01
、androidx.core:core-ktx:1.13.0-beta01
和 androidx.core:core-testing:1.13.0-beta01
。版本 1.13.0-beta01 包含这些提交内容。
API 变更
PathParser
现在是final
,interpolatePathDataNodes
现在会针对不兼容的参数抛出异常,而不是返回boolean
,并且nodesToPath
现在属于PathParser
,而不是PathParser.PathDataNode
。(I20d62)FingerprintManagerCompat
在从 Android V 平台 SDK 中移除之前已被软移除。该实现将在不久之后替换为无操作,开发者应立即停止使用此类。(I7ca1b)Pool
接口及其子类SimplePool
和SynchronizedPool
现在用 Kotlin 编写。现在,存储在池中的对象的泛型类型必须为非 null。(I08afe)
外部贡献
GestureDetectorCompat
现已废弃,因为在库的最低 SDK 版本中,平台保证会提供GestureDetector
。感谢 Jake Wharton 的贡献。(Icc4cd)MarginLayoutParamsCompat
现已废弃,因为平台保证MarginLayoutParams
会作为库的最低 SDK 版本提供。感谢 Jake Wharton 的贡献。(I4e0c3)
版本 1.13.0-alpha05
2024 年 2 月 7 日
发布了 androidx.core:core:1.13.0-alpha05
、androidx.core:core-ktx:1.13.0-alpha05
和 androidx.core:core-testing:1.13.0-alpha05
。版本 1.13.0-alpha05 中包含这些提交内容。
外部贡献
- 感谢 Matthew Zavislak 更新了
ContextCompat.registerReceiver
文档以确保其准确无误。(8fd733)
版本 1.13.0-alpha04
2024 年 1 月 24 日
发布了 androidx.core:core:1.13.0-alpha04
、androidx.core:core-ktx:1.13.0-alpha04
和 androidx.core:core-testing:1.13.0-alpha04
。版本 1.13.0-alpha04 中包含这些提交内容。
新功能
- 添加了
AlarmManagerCompat.canScheduleExactAlarms
API (I62e95、b/315440583)
Kotlin 转换
- 使用 Kotlin 重写了
androidx.core.util.Consumer
类,现在强制要求泛型T
与accept()
方法收到的内容的是否可为 null 性匹配。(Ie21e0) androidx.core.util.Supplier
已转换为 Kotlin,以确保get()
返回的类型的是否可为 null 性与泛型类型的是否可为 null 性一致。(I21e9c)- 使用 Kotlin 重写了
androidx.core.util.Function
,以确保函数的输入和输出的可为 null 性与所用泛型类型相匹配。(I09dd7)
外部贡献
- 感谢 Kamal Faraj 添加了
AlarmManagerCompat.canScheduleExactAlarms
API (I62e95、b/315440583)
版本 1.13.0-alpha03
2024 年 1 月 10 日
发布了 androidx.core:core:1.13.0-alpha03
、androidx.core:core-ktx:1.13.0-alpha03
和 androidx.core:core-testing:1.13.0-alpha03
。版本 1.13.0-alpha03 中包含这些提交内容。
API 变更
- 已废弃
ListViewCompat
,请直接使用ListView
。(Iacce6、b/318353933) - 废弃了
ViewCompat.LAYOUT_DIRECTION_
API。(I51710、b/317055535) - 弃用了
ViewCompat
中的已过时兼容方法。(I0bfc2、b/313834577)
版本 1.13.0-alpha02
2023 年 11 月 29 日
发布了 androidx.core:core:1.13.0-alpha02
、androidx.core:core-ktx:1.13.0-alpha02
和 androidx.core:core-testing:1.13.0-alpha02
。版本 1.13.0-alpha02 中包含这些提交内容。
新功能
- 添加了
OnUserLeaveHintProvider
接口,以允许任何组件接收实现画中画所需的onUserLeaveHint
事件。这是在 Activity1.9.0-alpha01
中通过ComponentActivity
实现的。(I54892)
API 变更
- 已废弃
androidx.core.os.CancellationSignal
。应将用法替换为平台提供的android.os.CancellationSignal
。(Id45f6、b/309499026、b/309054079) OnMultiWindowModeChangedProvider
、OnNewIntentProvider
、OnPictureInPictureModeChangedProvider
、OnConfigurationChangedProvider
和OnTrimMemoryProvider
接口已转换为 Kotlin,以确保其监听器方法接受的Consumer
上的泛型参数具有正确的可为 null 性(它们均为非 null)。(Ib6237)- 发送到添加到各自提供程序接口的
Consumer
的MultiWindowModeChangedInfo
和PictureInPictureModeChangedInfo
类现在使用 Kotlin 编写。(Ie08e2)
依赖项更新
- Core 现在依赖于 Lifecycle
2.6.2
。(I2d94c)
版本 1.13.0-alpha01
2023 年 10 月 18 日
发布了 androidx.core:core:1.13.0-alpha01
、androidx.core:core-ktx:1.13.0-alpha01
和 androidx.core:core-testing:1.13.0-alpha01
。版本 1.13.0-alpha01 中包含这些提交内容。
API 变更
- 将
PathParser
设为公开。该类可以根据 SVG 路径字符串创建 Path 实例。(Ic7af2、b/302376846) - 为
Context.createAttributionContext
添加了兼容性方法。(I61dcf、Ibe187) - 将
NotificationCompatSideChannelService
标记为已废弃。(I18fd9) - 新增了用于差分运动快速滑动的新 API。(I46b0d、Ia9f68)
- 添加了适用于
VelocityTracker
的其他兼容性 API,以跟踪平台 SDK。(I32753)
bug 修复
- 替换
Person
中的equals
和hashCode
方法。(I610a5)
Core 和 Core-ktx 版本 1.12
1.12.0 版
2023 年 9 月 6 日
发布了 androidx.core:core:1.12.0
、androidx.core:core-ktx:1.12.0
和 androidx.core:core-testing:1.12.0
。版本 1.12.0 中包含这些提交内容。
自 1.11.0 以来的重要变更
- 添加了许多兼容性方法,以便与 TextView、AccessibilityNodeInfo 等在 SDK 34 中保持一致。
- 新的
LocalePreferences
API,可帮助开发者轻松访问语言区域数据或用户的语言区域偏好设置。 - 废弃了
app.BundleCompat
,取而代之的是os.BundleCompat
。 - 已废弃
BuildCompat.isAtLeastU()
。请改用SDK_INT >= 34
。
版本 1.12.0-rc01
2023 年 8 月 9 日
发布了 androidx.core:core:1.12.0-rc01
、androidx.core:core-ktx:1.12.0-rc01
和 androidx.core:core-testing:1.12.0-rc01
,这些版本没有重大变化。版本 1.12.0-rc01 中包含这些提交内容。
版本 1.12.0-beta01
2023 年 7 月 26 日
发布了 androidx.core:core:1.12.0-beta01
、androidx.core:core-ktx:1.12.0-beta01
和 androidx.core:core-testing:1.12.0-beta01
。版本 1.12.0-beta01 中包含这些提交内容。
API 变更
- 向
TextView
兼容类添加了setLineHeight(unit, lineHeight)
(Ia9fa9) - 添加了 Android 14 中的
TypedValueCompat.getUnitFromComplexDimension()
(I958e8) - 向
TextView
兼容类添加了setLineHeight(unit, lineHeight)
(Ib2ee1) - 向后移植了各种无障碍功能 API (Ic65ba)
- 向后移植了 API 34
AccessibilityNodeInfo
方法 (I44182) - 将稳定版 SDK 检查从实验性阶段移出 (Ia9b35)
- 向后移植了
AccessiiblityWindowInfo
34 个 API (I96a5d) - 已废弃
BuildCompat.isAtLeastU()
。已改用SDK_INT >= 34
。(I4f8e7、b/289269026) - 移除了实验性
isAtLeastU()
API 的用法(Ie9117、b/289269026) - 将
BuildCompat
迁移到了 Kotlin,以增强“已废弃”标记 (I56775、b/289269026) - 向
TextView
兼容类添加了setLineHeight(unit, lineHeight)
(I15716) - 新增了
accessibilityDataSensitive
兼容性属性。(I0c6e0) - 指定
FLAG_NO_CREATE
时,PendingIntentCompat.getActivity
和getService
可能会返回 null。(Iffdf0、b/289696515) - 更新了 API 文件,以便为兼容性抑制添加注解。(I8e87a、b/287516207)
- 添加了
PendingIntentCompat.send()
(Iaf707) - 添加了
Location.removeVerticalAccuracy()
、Location.removeSpeedAccuracy()
和Location.removeBearingAccuracy()
的兼容版本。(I5b640)
bug 修复
- 如果视图具有无障碍功能委托,则将该视图标记为无障碍功能重要视图。(If2b54)
版本 1.12.0-alpha05
2023 年 6 月 7 日
发布了 androidx.core:core:1.12.0-alpha05
、androidx.core:core-ktx:1.12.0-alpha05
和 androidx.core:core-testing:1.12.0-alpha05
。此版本是在内部分支中开发的。
bug 修复
- 更新了有关使用 Material 3 色相、色度和色调 (M3HCT) 参数生成颜色的
ColorUtils
类的文档。(I32979、I21c8c) - 修复了
android.os.Trace
的 replaceWith 废弃问题 (I730f9)
版本 1.12.0-alpha04
2023 年 5 月 10 日
发布了 androidx.core:core:1.12.0-alpha04
、androidx.core:core-ktx:1.12.0-alpha04
和 androidx.core:core-testing:1.12.0-alpha04
。这是从内部分支发布的。
版本 1.12.0-alpha03
2023 年 4 月 12 日
发布了 androidx.core:core:1.12.0-alpha03
、androidx.core:core-ktx:1.12.0-alpha03
和 androidx.core:core-testing:1.12.0-alpha03
。这是从内部分支发布的。
API 变更
- 取消隐藏了
NotificationCompat.TvExtender
(aosp/01c67677e9310b2cf4c536d7e951e117d6cce64a) - 添加了用于访问 M3HCT 参数并将 M3HCT 值转换为 ARGB 的公共方法 (aosp/06810598aa94bee731bbe0d277933b8b9614934e)
- 添加了
NotificationManager.getCurrentInterruptionFilter
(aosp/b0c6940639e35371d212a7ebd7dbf01c14fc7710) - 向
NotifManagerCompat
添加了getCurrentInterruptionFilter
(aosp/516143e05f824ff49bde3c0c97344a2924867d30) - 废弃了
app.BundleCompat
,取而代之的是os.BundleCompat
(aosp/bf6169fe9ee1113065d0cf380bd2e09f31ce0a40) - 添加了
TestConsumer
,以便开发者在测试中记录值。(aosp/f75a4913940e710842168c832a7f57c2dcae4fdf) - 添加了
TestConsumer
,以便开发者在测试中记录值。(aosp/67ad4e2c6488772b7c9a061ee6ca01bba23649f7)
bug 修复
- 修复了以下 bug:
unregisterGnssMeasurementsCallback()
在 Android R 以下版本中无法正常运行。(aosp/c5a97c4ee956f87d229ec892f2b8849f392e956c)
版本 1.12.0-alpha01
2023 年 3 月 8 日
发布了 androidx.core:core:1.12.0-alpha01
和 androidx.core:core-ktx:1.12.0-alpha01
。版本 1.12.0-alpha01 中包含这些提交内容。
新功能
- 提供 API 来帮助开发者轻松访问 ICU 中的用户偏好设置或语言区域数据。可访问的语言区域数据包括小时周期、日历类型、温度单位和一周的第一天。
API 变更
- 添加了新的 API
LocalePreferences
,以帮助开发者轻松访问语言区域数据或用户的语言区域偏好设置。
Core 和 Core-ktx 版本 1.11
版本 1.11.0-beta02
2023 年 6 月 7 日
发布了 androidx.core:core:1.11.0-beta02
、androidx.core:core-ktx:1.11.0-beta02
和 androidx.core:core-testing:1.11.0-beta02
。版本 1.11.0-beta02 中包含这些提交内容。
bug 修复
- 更新了有关使用 Material 3 色相、色度和色调 (M3HCT) 参数生成颜色的
ColorUtils
类的文档。(I32979、I21c8c) - 修复了
android.os.Trace
的 replaceWith 废弃问题 (I730f9)
版本 1.11.0-beta01
2023 年 5 月 24 日
发布了 androidx.core:core:1.11.0-beta01
、androidx.core:core-ktx:1.11.0-beta01
和 androidx.core:core-testing:1.11.0-beta01
。版本 1.11.0-beta01 中包含这些提交内容。
API 变更
- 向方法
performHapticFeedback
添加了ViewCompat
支持 (Ib02c6) - 将
getDisplay
更改为#getDisplayOrDefault
(I96ff9) - 添加了
ContextCompat#getDisplay(Context)
(I7011f、b/178183326) - 添加了
ContextCompat#getContextForLanguage(Context)
,用于在非 activity 上下文中获取各应用语言区域(I58e75、b/243457462)
bug 修复
- 阐明了
CollectionInfoCompat
文档,尤其是isHierarchical
(I14f6c)
版本 1.11.0-alpha04
2023 年 5 月 10 日
发布了 androidx.core:core:1.11.0-alpha04
、androidx.core:core-ktx:1.11.0-alpha04
和 androidx.core:core-testing:1.11.0-alpha04
。版本 1.11.0-alpha04 中包含这些提交内容。
API 变更
- 添加了用于修复链接触摸处理问题的
LinkMovementMethodCompat
(Ia632c) PendingIntent.getBroadcast()
现已正确标记为@Nullable
(Ifff96、b/277630907)
bug 修复
- 修复了
DisplayManagerCompat
中的上下文泄漏问题(I3409b、b/279625765) - 添加了
SoftwareKeyboardControllerCompat
,以提供直接的方法来显示和隐藏给定 View 的软件键盘。此变更回 port 了在某些 API 级别使用WindowInsetsController
API 时存在的已知问题的权宜解决方法,并提取了WindowInsetsControllerCompat.show
的后备实现和 IME 内嵌类型的隐藏功能。(Idd0a3)
版本 1.11.0-alpha03
2023 年 4 月 19 日
发布了 androidx.core:core:1.11.0-alpha03
、androidx.core:core-ktx:1.11.0-alpha03
和 androidx.core:core-testing:1.11.0-alpha03
。版本 1.11.0-alpha03 中包含这些提交内容。
API 变更
- 更新了
BuildCompat
,为 Android 14 Beta 2 做好准备 (Idc1b1, b/276491001) - 取消隐藏
NotificationCompat.TvExtender
(Ibe13a) - 添加了用于访问 M3HCT 参数并将 M3HCT 值转换为 ARGB 的公共方法 (Id7e9d)
版本 1.11.0-alpha02
2023 年 4 月 5 日
发布了 androidx.core:core:1.11.0-alpha02
、androidx.core:core-ktx:1.11.0-alpha02
和 androidx.core:core-testing:1.11.0-alpha02
。版本 1.11.0-alpha02 中包含这些提交内容。
API 变更
- 向
NotifManagerCompat
添加了getCurrentInterruptionFilter
(I8ec95、b/243183646) - 废弃了
app.BundleCompat
,改用os.BundleCompat
(Idc3a2、b/274577000) - 添加了
TestConsumer
,以便开发者在测试中记录值。(I937c1)
bug 修复
- 修复了以下 bug:在 Android R 以下版本中,
unregisterGnssMeasurementsCallback()
无法正常运行。(Id1999)
版本 1.11.0-alpha01
2023 年 3 月 22 日
发布了 androidx.core:core:1.11.0-alpha01
和 androidx.core:core-ktx:1.11.0-alpha01
。版本 1.11.0-alpha01 中包含这些提交内容。
API 变更
- 在 Android U 中,
getType
的ContentProvider
API 要求调用方拥有正确的读取权限。FileProvider
现在提供默认的getTypeAnonymous
实现,即不受限制的版本。(I4773f) - 为内容截取 API 添加了兼容类 (I09366)
- 添加了
NotifCompat.Builder.setLargeIcon(Icon)
(Ic0a5b) - 向
NotificationManagerCompat
添加了批量通知 API。建议用户在发布多个通知时使用此 API。(I2cd7f) - 在 Android R 之前的平台上添加了支持执行器的
registerGnssMeasurementsCallback()
(I579f8)
Core 和 Core-ktx 版本 1.10
版本 1.10.1
2023 年 5 月 10 日
发布了 androidx.core:core:1.10.1
和 androidx.core:core-ktx:1.10.1
。版本 1.10.1 中包含这些提交内容。
外部贡献
- 修复了因结果为 null 而抛出
BadParcelableException
的问题 b/277434277、b/278118318(由 Mygod Studio 贡献)
版本 1.10.0
2023 年 4 月 5 日
发布了 androidx.core:core:1.10.0
和 androidx.core:core-ktx:1.10.0
。版本 1.10.0 中包含这些提交内容。
自 1.9.0 以来的重要变更
- 废弃了对无障碍功能对象的回收再利用。我们发现,即使在最早的受支持操作系统版本中,性能变化也微不足道。(I0a961)
- 为 SDK 扩展版本添加了
BuildCompat
常量。(I6084c) - 如需了解新 API 和 bug 修复,请参阅 1.10.0 预发布版本的版本说明。
版本 1.10.0-rc01
2023 年 3 月 8 日
发布了 androidx.core:core:1.10.0-rc01
和 androidx.core:core-ktx:1.10.0-rc01
,这两个版本与上一个 Beta 版相比没有变化。
版本 1.10.0-beta01
2023 年 2 月 22 日
发布了 androidx.core:core:1.10.0-beta01
和 androidx.core:core-ktx:1.10.0-beta01
。版本 1.10.0-beta01 中包含这些提交内容。
API 变更
set/getMinMillisBetweteenContentChanges
的AccessibilityNodeInfoCompat
API 已重命名为set/getMinDurationBetweenContentChanges
,且目前在使用期间采用long
。(f46689)- 添加了
NotificationCompat.bigLargeIcon(Icon)
(I60855)
bug 修复
- 修复了有关
NotificationCompat.Builder.setShowWhen()
默认值的文档 (ba52a2) - 修复了
AccelerateInterpolator / DecelerateInterpolator
文档中的拼写错误 (2173505) - 修复了
ShortcutInfoCompat
文档中的拼写错误 (44075f) - 使用
NestedScrollView
和CoordinatorLayout
修复了向上键、向下键、空格键和按键变体的键盘操作 (bdd72e)
版本 1.10.0-alpha02
2023 年 1 月 25 日
发布了 androidx.core:core:1.10.0-alpha02
和 androidx.core:core-ktx:1.10.0-alpha02
。版本 1.10.0-alpha02 中包含这些提交内容。
API 变更
- 为
AD_SERVICES
扩展版本添加了BuildCompat
常量 (I51d98) - 在
WindowInsetsControllerCompat
中添加了BEHAVIOR_DEFAULT
。废弃了BEHAVIOR_SHOW_BARS_BY_SWIPE
和BEHAVIOR_SHOW_BARS_BY_TOUCH
(I17b61)
版本 1.10.0-alpha01
2023 年 1 月 11 日
发布了 androidx.core:core:1.10.0-alpha01
和 androidx.core:core-ktx:1.10.0-alpha01
。版本 1.10.0-alpha01 中包含这些提交内容。
API 变更
- 向
NotificationCompat
添加了CallStyle
(Id9a53、b/199294989) - 为 SDK 扩展版本添加了
BuildCompat
常量 (I6084c) - 添加了用于在无障碍功能节点上设置初始焦点的 API。(Id199a)
- 添加了用于更改内容速率限制的新 API (If4ea0)
- 针对 Android 13 中为 parcel、bundle 和 intent 引入的新 API 添加了兼容性方法。部分
ParcelCompat
方法签名已更新,可能需要在升级时更改来源才能确认新签名。(I57e94、b/242048899) - 废弃了对无障碍功能对象的回收再利用。我们发现,即使在最早的受支持版本中,性能变化也微不足道。(I0a961)
- 针对已废弃的隐藏函数,更新了返回值类型是否可为 null (Ibf7b0)
- 为 Point 和 PointF 添加了乘法/除法运算符重载(I8e557、b/261574780)
bug 修复
Core 和 Core-ktx 版本 1.9.0
版本 1.9.0
2022 年 9 月 7 日
发布了 androidx.core:core:1.9.0
和 androidx.core:core-ktx:1.9.0
。版本 1.9.0 中包含这些提交内容。
自 1.8.0 以来的重要变更
- 进行了更新,以提高与 Android 13 的兼容性,包括可为 null 性更改以及与框架 API 的一致性
- 添加了
IntentSanitizer
,用于在启动 intent 之前清理不安全的 intent。(Ib0be5) - 使用
Icon
添加了对BigPictureStyle
的支持 (Ice26d) - 向在 SDK 33 及更高版本中需要授予
POST_NOTIFICATIONS
权限的 API 添加了@RequiresPermission
。(Ie542e) - 改进了 Android 13 无障碍功能框架 API 和兼容性 API 之间的一致性(I93c97、I5a074、Iedf82)
版本 1.9.0-rc01
2022 年 8 月 24 日
发布了 androidx.core:core:1.9.0-rc01
和 androidx.core:core-ktx:1.9.0-rc01
。版本 1.9.0-rc01 中包含这些提交内容。
bug 修复
IntentSanitizer.sanitizeByFiltering
在过滤时不再向日志写入内容 (69b3b55)
版本 1.9.0-beta01
2022 年 8 月 10 日
发布了 androidx.core:core:1.9.0-beta01
。版本 1.9.0-beta01 中包含这些提交内容。
API 变更
- 添加了对
ACTION_SHOW_TEXT_SUGGESTIONS
和is/setTextSelectable
的兼容项 (Iedf82) - 添加了
IntentSanitizer
,用于在启动 intent 之前清理不安全的 intent。(Ib0be5) - 使用 Icon 添加了对
BigPictureStyle
的支持(Ice26d、b/215583339) - 更新了可为 null 性注解(I34cce、b/236498052、b/236498029、b/236497996、b/236497942、b/236497884、b/236497726)
- 添加了
LocationManagerCompat.registerGnssMeasurementsCallback
以解决 Android R bug。(Ie0f6f)
bug 修复
- 向在 SDK 33 及更高版本中需要授予
POST_NOTIFICATIONS
权限的 API 添加了@RequiresPermission
。(Ie542e、b/238790278) - 向 androidx-platform-dev 中添加了对 T 中引入的 API 的支持。()
- 添加了对 T 中引入的 API 的支持。(I358f1)
- 当 compat impl 无法在 API 级别 14-20 上解析时,
TypefaceCompate.create(..., weight, italic)
将回退到平台Typeface.create
(I1ee34、b/145311058) - 向 androidx-main am: d5747be010 添加了 AndroidX 中之前不存在的无障碍功能框架常量。(I5a074)
- 添加了 AndroidX 中之前不存在的无障碍功能框架常量。(I93c97)
外部贡献
- 向后移植了
Typeface#create(Typeface, int, boolean)
,允许通过字体系列创建具有特定粗细的字体 (I342dc)
版本 1.9.0-alpha05
2022 年 6 月 15 日
发布了 androidx.core:core:1.9.0-alpha05
和 androidx.core:core-ktx:1.9.0-alpha05
。版本 1.9.0-alpha05 是在一个不公开的预发布分支中开发的,没有公开提交内容。
API 变更
- 更新了可为 null 性,以与 Tiramisu Beta 3 SDK 中的最终 API Surface 保持一致
minCompileSdk
的级别现为 33,以与 Tiramisu Beta 3 SDK 保持一致
版本 1.9.0-alpha04
2022 年 5 月 18 日
发布了 androidx.core:core:1.9.0-alpha04
和 androidx.core:core-ktx:1.9.0-alpha04
。版本 1.9.0-alpha04 是基于预发布的 Android SDK 构建的,并且没有公开发布的提交历史记录。
bug 修复
- 还原了已废弃的
BuildCompat.isAtLeastT()
及相关SDK_INT
检查
版本 1.9.0-alpha03
2022 年 4 月 27 日
发布了 androidx.core:core:1.9.0-alpha03
和 androidx.core:core-ktx:1.9.0-alpha03
。版本 1.9.0-alpha04 包含 1.8.0-beta01 中的所有提交内容,但已基于 Android 13 Beta 1 进行了构建。
此版本需要使用 Android 13 Beta 1 进行编译,并且不能保证在运行时与未来开发者预览版兼容。
版本 1.9.0-alpha02
2022 年 3 月 23 日
发布了 androidx.core:core:1.9.0-alpha02
和 androidx.core:core-ktx:1.9.0-alpha02
。版本 1.9.0-alpha02 包含 1.8.0-alpha06 中的所有提交内容,但已基于 Tiramisu DP2 进行了构建。
版本 1.9.0-alpha01
2022 年 2 月 23 日
发布了 androidx.core:core:1.9.0-alpha01
和 androidx.core:core-ktx:1.9.0-alpha01
。版本 1.9.0-alpha01 是通过内部分支构建的,没有公开可见的提交内容。
此版本需要使用 Android Tiramisu DP1 进行编译,并且不能保证在运行时与未来开发者预览版兼容。
新功能
- 与 Android Tiramisu DP1 兼容。
Core 和 Core-ktx 版本 1.8.0
版本 1.8.0
2022 年 6 月 1 日
发布了 androidx.core:core:1.8.0
和 androidx.core:core-ktx:1.8.0
。版本 1.8.0 中包含这些提交内容。
自 1.7.0 以来的重要变更
- 清理了大量可为 null 性注解,以提高 Kotlin 的易用性
- 改进了
ShortcutInfoCompat
、NotificationCompat
等的平台一致性 - 添加了新接口,使组件能够接收画中画模式和多窗口模式变更事件(由
ComponentActivity
在 activity 库中实现) - 改进了
MenuProvider
回调方法,包括onPrepareMenu
和onMenuClosed
- 修复了以下问题:
FileProvider
在某些设备上会失败并抛出IllegalArgumentException
- 修复了
TypefaceCompat
在 API 29 及以上版本中应用了不正确字体粗细的问题 (b/194553426),感谢 RikkaW 的贡献
版本 1.8.0-rc02
2022 年 5 月 18 日
发布了 androidx.core:core:1.8.0-rc02
和 androidx.core:core-ktx:1.8.0-rc02
。版本 1.8.0-rc02 中包含这些提交内容。
bug 修复
- 将
OnSharedElementsReadyListener
类型转换为完全限定的平台类,以防止出现ClassCastException
(0029fed)
版本 1.8.0-rc01
2022 年 5 月 11 日
发布了 androidx.core:core:1.8.0-rc01
和 androidx.core:core-ktx:1.8.0-rc01
。版本 1.8.0-rc01 中包含这些提交内容。
API 变更
- 添加了针对下个预发布周期的
BuildCompat
检查(If5a8f、b/229859122) - 针对最终确定的 SDK_INT 值更新了
BuildCompat.isAtLeastT()
。(Iffae0)
版本 1.8.0-beta01
2022 年 4 月 20 日
发布了 androidx.core:core:1.8.0-beta01
和 androidx.core:core-ktx:1.8.0-beta01
,这两个版本与 1.8.0-alpha07 相比没有变化。版本 1.8.0-beta01 中包含这些提交内容。
版本 1.8.0-alpha07
2022 年 4 月 6 日
发布了 androidx.core:core:1.8.0-alpha07
和 androidx.core:core-ktx:1.8.0-alpha07
。版本 1.8.0-alpha07 中包含这些提交内容。
bug 修复
- 现在,
TypefaceCompat
将在 API 29 及以上级别上同时遵循请求的样式信息和加载的样式信息。这是加载的字体不是FontWeight.Normal
或FontWeight.Bold
时发生的行为变更,因为系统将使用实际加载的粗细和样式。(#212、b/194553426)
外部贡献
版本 1.8.0-alpha06
2022 年 3 月 23 日
发布了 androidx.core:core:1.8.0-alpha06
。版本 1.8.0-alpha06 中包含这些提交内容。
API 变更
MenuProvider
接口现在包含onPrepareMenu()
回调,该回调在菜单被动态修改及应显示时调用。(Ie85f9)MenuProvider
接口现在包含onMenuClosed()
方法,该方法在菜单应关闭时使用。(If5a16)- 更新了
IconCompat#getResId
,使其具有适当的资源注解类型,以与Icon#getResId
的框架中的相应方法匹配 (I49700) - 恢复了之前仅依赖于
WindowInsetsControllerCompat
的 View 的变更,再次需要一个 Window,这对于管理某些窗口标记来说是必需的。废弃了ViewCompat.getWindowInsetsController
,改为使用WindowCompat.getInsetsController
,以确保使用正确的 Window(例如,如果 View 位于对话框中)。(I660ae、b/219572936) - 更新了 core 和 appcompat 中的可为 null 性,以匹配 Tiramisu DP2 (I0cbb7)
- 向
BitmapCompat
中添加了一个方法,使位图缩小更流畅。(Ib706c) - 向
ActivityCompat.requestDragAndDropPermissions
添加了可为 null 性注解(I0f2b0、b/206113378) - 向
FileProvider
添加了一项解决方法,供 OEM 从清单中移除元数据。(I82f63)
bug 修复
- 考虑了 a11y 窗格可见性状态在 <P 中的父级可见性变更 (I8e04f)
版本 1.8.0-alpha05
2022 年 2 月 23 日
发布了 androidx.core:core:1.8.0-alpha05
和 androidx.core:core-ktx:1.8.0-alpha05
。版本 1.8.0-alpha05 中包含这些提交内容。
API 变更
- 更新了 androidx.core.os 类的可为 null 性(If18cd、b/206113622)
- 更新了 androidx.core.app 类的可为 null 性(I657eb、b/206113302)
- 更新了 androidx.core.text 类的可为 null 性(I08329、b/206113384)
- 向
AccessibilityNodeInfoCompat
添加了ExtraData
函数(If2fc7、b/137789185) - 为
bundleOf()
添加了零参数过载,以避免在创建空 bundle 时出现不可见的数组分配 (If7089) - 添加了
Continuation<T>.asFoo()
适配器,用于创建回调,来为接受通用回调类型的 Android API 编写挂起封装容器 (I6615e) - 添加了可为 null 的
Drawable.toBitmapOrNull
方法,以避免异常 (I2342a)
版本 1.8.0-alpha04
2022 年 2 月 9 日
发布了 androidx.core:core:1.8.0-alpha04
和 androidx.core:core-ktx:1.8.0-alpha04
。版本 1.8.0-alpha04 中包含这些提交内容。
API 变更
- 添加了
OnPictureInPictureModeChangedProvider
接口,以允许任何组件接收画中画模式变更事件。这是在 Activity1.5.0-alpha02
中通过ComponentActivity
实现的。(I9f567) - 添加了
OnMultiWindowModeChangedProvider
接口,以允许任何组件接收多窗口模式变更事件。这是在 Activity1.5.0-alpha02
中通过ComponentActivity
实现的。(I62d91) - 清除了部分 androidx.core API 的可为 null 性。(Ia0e2f、b/206113818)
版本 1.8.0-alpha03
2022 年 1 月 26 日
发布了 androidx.core:core:1.8.0-alpha03
和 androidx.core:core-ktx:1.8.0-alpha03
。版本 1.8.0-alpha03 中包含这些提交内容。
API 变更
- 将
WindowInsetsControllerCompat
转换为依赖于 View,而不是 Window 或平台WindowInsetsController
。这样可以改善对话框的行为(显示 IME),并确保非废弃的创建方法可以解决问题 (b/180881870)。(I29264、b/207401542、b/210121779) - 清除了部分 androidx.core API 的可为 null 性。(Ib2583、b/206113818)
- 修复了
performAccessibilityAction
参数的可为 null 性 (Ibbafe) - 添加了一个方法,可解决由以主题为键的缓存和 Theme.applyStyle 引起的
ColorStateList
问题(I9188b、b/207739887) - 更新了快捷方式可见性 API,提高了可读性 (Ia58df)
- 为
persistableBundleOf()
添加了零参数过载,以避免在创建空 PersistableBundle 时进行不必要的数组分配 (Icd7a4)
版本 1.8.0-alpha02
2021 年 12 月 15 日
发布了 androidx.core:core:1.8.0-alpha02
和 androidx.core:core-ktx:1.8.0-alpha02
。版本 1.8.0-alpha02 中包含这些提交内容。
API 变更
- 针对日后推出的 SDK 添加了实验性
BuildCompat
方法(Iafd82、b/207528937) - 添加了文档与快捷方式相互转换的实用程序方法。(Id512c)
- 更新了适用于快捷方式的可见性 API,让内容显示更清晰 (I86dec)
- 添加了
OnNewIntentProvider
、OnConfigurationChangedProvider
和onTrimMemoryProvider
接口。这些接口可用于指示自定义 activity 可以将这些事件分派给任何添加监听器的组件。(If1f8b、If623b、Ia9295)
版本 1.8.0-alpha01
2021 年 12 月 1 日
发布了 androidx.core:core:1.8.0-alpha01
和 androidx.core:core-ktx:1.8.0-alpha01
。版本 1.8.0-alpha01 中包含这些提交内容。
API 变更
- 大量清理了可为 null 性注解
- 新添加了 API
ShortcutInfoCompat.Builder#setHiddenFromLauncher
,用于确定是否应在启动器中隐藏快捷方式。(Ia2a71) - 添加了
NotificationCompat.Action#setAuthenticationRequired
(Ieeafa、b/202172887) - 添加了
NotificationCompat.BigPictureStyle.setContentDescription
(I3b483) - 添加了扩展函数
Map<String, Any?>.toPersistableBundle()
(I82c86)
bug 修复
Core 和 Core-ktx 版本 1.7
版本 1.7.0
2021 年 10 月 27 日
发布了 androidx.core:core:1.7.0
和 androidx.core:core-ktx:1.7.0
。版本 1.7.0 中包含这些提交内容。
自 1.6.0 以来的重要变更
- 添加了对与 SDK 30 及更高版本的权限撤消和应用休眠功能互动的支持,并在支持的设备上向后移植到 SDK 23。如需了解详情,请参阅 IntentCompat.createManageUnusedAppRestrictionsIntent。
- 添加了对在组件中组合菜单的支持,请参阅 MenuProvider 了解详情。
版本 1.7.0-rc01
2021 年 10 月 13 日
发布了 androidx.core:core:1.7.0-rc01
和 androidx.core:core-ktx:1.7.0-rc01
。版本 1.7.0-rc01 中包含这些提交内容。
版本 1.7.0-beta02
2021 年 9 月 29 日
发布了 androidx.core:core:1.7.0-beta02
和 androidx.core:core-ktx:1.7.0-beta02
。版本 1.7.0-beta02 中包含这些提交内容。
bug 修复
- 现在,如果在 Lifecycle 变为
DESTROYED
状态之前移除MenuProvider
,MenuHostHelper
会正确移除所有 LifecycleObserver。(Ibe2e1、b/199788262) - 更新了“未使用的应用限制常量”的说明,以便为开发者提供更清晰的说明 (I2858e)
版本 1.7.0-beta01
2021 年 9 月 15 日
发布了 androidx.core:core:1.7.0-beta01
和 androidx.core:core-ktx:1.7.0-beta01
。版本 1.7.0-beta01 中包含这些提交内容。
API 变更
LocationRequestCompat.toProvider
现在可以返回 null (Ib5a09)
版本 1.7.0-alpha02
2021 年 9 月 1 日
发布了 androidx.core:core:1.7.0-alpha02
和 androidx.core:core-ktx:1.7.0-alpha02
。版本 1.7.0-alpha02 中包含这些提交内容。
新功能
- 简化和统一了生命周期感知型菜单的管理方式。如需了解详情,请参阅 MenuProvider。
API 变更
- 为管理
MenuProvider
的组件添加了MenuHost
接口。(I83f23) - 添加了
MenuProvider
接口,可用于指明组件提供菜单项。(If8a40) - 添加了
MenuHostHelper
,可简化在组件中实现MenuHost
的过程。(I74f4a) - 添加了
LocationRequestCompat.toLocationRequest()
,用于转换为平台类。(I71e75) - 添加了
DocumentsContractCompat
类,以便与平台 API 等效。(Ia9e91) - 添加了
NotificationCompat.BigPictureStyle.showBigPictureWhenCollapsed(boolean)
,以便与平台 API 等效。(I8cd88) - 修复了
PermissionChecker
中的checkSelfPermission
会显示麦克风/摄像头指示标志的问题。(I572a9) - 为
setImportantForAccessibility
添加了显式线程注解。(I990fa) - 更新了
getUnusedAppRestrictionsStatus
,以符合 API 准则。(I28a18) - 完善了
getUnusedAppRestrictionsStatus
的功能。(I7c2d6) - 为
LocationCompat
添加了对垂直精确度、速度精确度和方位精确度的支持。(I1d3e9) - 向
MathUtils
添加了数学兼容性函数。(Idb590) - 将
OnReceiveContentListener
集成到了兼容型 API 中。(Ic6914、b/173814913) - 添加了
ActivityCompat#isLaunchedFromBubble
,以便与平台等效。(I6961a) - 添加了
LocationRequest
和LocationManager.hasProvider()
,以便与平台等效。(I4f3e4)
bug 修复
- 取消了在
PackageManagerCompat
中使用 lambda,以避免LambdaDesugaring
bug。(I36c87)
版本 1.7.0-alpha01
2021 年 6 月 30 日
发布了 androidx.core:core:1.7.0-alpha01
和 androidx.core:core-ktx:1.7.0-alpha01
。版本 1.7.0-alpha01 中包含这些提交内容。
API 变更
- 新增了一个 API 来配置 InputConnection,以便使用
View.performReceiveContent
处理对InputConnection.commitContent
的 IME 调用。(I3a2ad) - 将两个 API 功能合并为一个 (I261df)
- 修改了两个 API 的功能,用来与未使用的应用限制功能(如权限撤消、应用休眠)搭配使用 (Ic1616)
- 添加了三个 API,用来与未使用的应用限制功能(如权限撤消、应用休眠)搭配使用 (I606d7)
- 向多个 Compat 类添加了可为 null 性注解(I2802a、b/188452327、b/189962089)
- 添加了三个 API,用来与未使用的应用限制功能(如权限撤消、应用休眠)搭配使用 (Icafee)
- 解决了 ViewCompat 中缺少可为 null 性注解的问题(Ic346e、b/188453571)
Core Remote Views 版本 1.1
版本 1.1.0
2024 年 6 月 12 日
发布了 androidx.core:core-remoteviews:1.1.0
。版本 1.1.0 包含这些提交内容。
自 1.0.0 以来的重要变更
- Core
RemoteViews
已移至 1.1.0 稳定版。
版本 1.1.0-rc01
2024 年 5 月 14 日
发布了 androidx.core:core-remoteviews:1.1.0-rc01
。版本 1.1.0-rc01 包含这些提交内容。
新功能
- 将
RemoteViews
1.1.0 移至候选版本。
bug 修复
- 将 21 移至 androidx 库的默认
minSdkVersion
。(I6ec7f)
版本 1.1.0-beta02
2024 年 4 月 17 日
发布了 androidx.core:core-remoteviews:1.1.0-beta02
。与上一个版本相比没有重大变化。
版本 1.1.0-beta01
2024 年 4 月 3 日
发布了 androidx.core:core-remoteviews:1.1.0-beta01
。版本 1.1.0-beta01 包含这些提交内容。
版本 1.1.0-alpha01
2024 年 2 月 7 日
发布了 androidx.core:core-remoteviews:1.1.0-alpha01
。版本 1.1.0-alpha01 中包含这些提交内容。
新功能
- 版本递增以匹配依赖项版本。
Core Remote Views 版本 1.0
版本 1.0.0
2023 年 9 月 6 日
发布了 androidx.core:core-remoteviews:1.0.0
。版本 1.0.0 中包含这些提交内容。
1.0.0 的主要功能
- 将 core-remoteviews 移至稳定版 1.0.0
版本 1.0.0-beta04
2023 年 5 月 10 日
发布了 androidx.core:core-remoteviews:1.0.0-beta04
。版本 1.0.0-beta04 中包含这些提交内容。
bug 修复
- 修复了兼容性库中的极端情况下抛出
ArrayOutOfBoundsException
的问题。
版本 1.0.0-beta03
2022 年 10 月 5 日
发布了 androidx.core:core-remoteviews:1.0.0-beta03
。版本 1.0.0-beta03 中包含这些提交内容。
新功能
- 未添加任何新功能。
版本 1.0.0-beta02
2022 年 8 月 10 日
发布了 androidx.core:core-remoteviews:1.0.0-beta02
。版本 1.0.0-beta02 中包含这些提交内容。
bug 修复
- 版本修复
版本 1.0.0-beta01
2022 年 6 月 29 日
发布了 androidx.core:core-remoteviews:1.0.0-beta01
。版本 1.0.0-beta01 中包含这些提交内容。
新功能
Core-RemoteViews
已发布 Beta 版。
版本 1.0.0-alpha03
2022 年 2 月 23 日
发布了 androidx.core:core-remoteviews:1.0.0-alpha03
。版本 1.0.0-alpha03 中包含这些提交内容。
bug 修复
- 修复了基础架构问题。
版本 1.0.0-alpha02
2022 年 1 月 26 日
发布了 androidx.core:core-remoteviews:1.0.0-alpha02
。版本 1.0.0-alpha02 中包含这些提交内容。
版本 1.0.0-alpha01
2021 年 12 月 15 日
发布了 androidx.core:core-remoteviews:1.0.0-alpha01
。版本 1.0.0-alpha01 中包含这些提交内容。
新功能
- 可以向后移植新的
RemoteViews.setRemoteAdapter
API。 - 添加了 Kotlin 扩展函数,以便在调用
RemoteViews
方法时避免使用反射机制。 - 带有辅助函数函数的库,用于处理
App Widget
尺寸调整 API。
Core Performance 版本 1.0
版本 1.0.0
2024 年 1 月 10 日
发布了 androidx.core:core-performance:1.0.0
、androidx.core:core-performance-play-services:1.0.0
和 androidx.core:core-performance-testing:1.0.0
。版本 1.0.0 中包含这些提交内容。
1.0.0 的主要功能
- 核心性能 - 为开发者提供了一种可靠的机制,使其能够在运行时识别设备的性能水平,从而帮助相应地优化应用的用户体验。
- 核心性能 Play 服务 - Google 专用实现,可为所测试的设备和操作系统版本提供最新的媒体性能等级信息。
- 核心性能测试 - 核心性能的测试双人。
bug 修复
- 修复了在版本
1.0.0-beta2
中初始化PlayServicesDevicePerformance
时发生的崩溃问题。(b/318803680)
版本 1.0.0-rc01
2023 年 12 月 13 日
发布了 androidx.core:core-performance:1.0.0-rc01
、androidx.core:core-performance-play-services:1.0.0-rc01
和 androidx.core:core-performance-testing:1.0.0-rc01
。版本 1.0.0-rc01 中包含这些提交内容。
新功能
- 核心性能 - 更新了库实现。(
DevicePerformance
通用实现)。 - 核心性能 Play 服务 - 初始库实现。(Google 专用
DevicePerformance
实现)。 - 核心性能测试 - 初始库实现。(包含 Core Performance 的测试双重)。
API 变更
DevicePerformance
专用 API 的初始 RC 版本。
版本 1.0.0-beta02
2023 年 10 月 4 日
发布了 androidx.core:core-performance:1.0.0-beta02
、androidx.core:core-performance-play-services:1.0.0-beta02
和 androidx.core:core-performance-testing:1.0.0-beta02
。版本 1.0.0-beta02 中包含这些提交内容。
新功能
- 测试相关重构。
API 变更
- 未更改的 API 使用模式。
版本 1.0.0-beta01
2023 年 9 月 6 日
发布了 androidx.core:core-performance:1.0.0-beta01
、androidx.core:core-performance-play-services:1.0.0-beta01
和 androidx.core:core-performance-testing:1.0.0-beta01
。版本 1.0.0-beta01 中包含这些提交内容。
新功能
- 核心性能 - 更新了库实现。(
DevicePerformance
通用实现)。 - 核心性能 Play 服务 - 初始库实现。(Google 专用
DevicePerformance
实现)。 - 核心性能测试 - 初始库实现。(包含 Core Performance 的测试双重)。
API 变更
DevicePerformance
专用 API 的初始 Beta 版。
版本 1.0.0-alpha03
2023 年 8 月 23 日
发布了 androidx.core:core-performance:1.0.0-alpha03
、androidx.core:core-performance-play-services:1.0.0-alpha03
和 androidx.core:core-performance-testing:1.0.0-alpha03
。版本 1.0.0-alpha03 中包含这些提交内容。
新功能
core-performance-testing
的初始库实现,包含核心性能的测试双重。- 初始库实现或
core-performance-play-services
。Google 专用实现会提供最新的媒体性能等级信息。
API 变更
- 添加了可选模块,用于通过 Google Play 服务提供媒体性能等级。
- 更改了 core-performance 构造函数,以支持可选实现。
版本 1.0.0-alpha02
2022 年 3 月 23 日
发布了 androidx.core:core-performance:1.0.0-alpha02
。版本 1.0.0-alpha02 中包含这些提交内容。
新功能
- 为开发者提供了一种简单可靠的机制,使其能够在运行时识别设备的性能水平,从而优化应用体验。
- 此初始版本使用经手动测试的设备列表,这些设备所获性能等级值高于 Build.VERSION.MEDIA_PERFORMANCE_CLASS 中声明的级别
版本 1.0.0-alpha01
2021 年 12 月 15 日
发布了 androidx.core:core-performance:1.0.0-alpha01
。版本 1.0.0-alpha01 中包含这些提交内容。
Core Splashscreen 版本 1.2
版本 1.2.0-alpha02
2024 年 9 月 4 日
发布了 androidx.core:core-splashscreen:1.2.0-alpha02
。版本 1.2.0-alpha02 包含这些提交内容。
bug 修复
- 向
SplashScreen
的主题添加了isLightTheme
属性 (I01000、b/238522114) - 通过
AppCompatResources
获取启动画面图标 (Ib05e、b/289242141、b/263972037) - 移除了手动说明对新平台 API 的访问权限,因为当将 R8 与 AGP 7.3 或更高版本(例如 R8 版本 3.3)搭配使用时,系统会通过 API 建模自动执行此操作;当使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)时,系统会针对所有 build 自动执行此操作。建议不使用 AGP 的客户更新到 D8 8.1 或更高版本。如需了解详情,请参阅这篇文章。(Ieb9ae、b/345472586)
版本 1.2.0-alpha01
2024 年 4 月 17 日
发布了 androidx.core:core-splashscreen:1.2.0-alpha01
。版本 1.2.0-alpha01 包含这些提交内容。
bug 修复
- 从 v30 开始,将
Base.Theme.SplashScreen
的剪裁模式更改为始终。Idfc3f - 从 API 31 开始,将
enforceNavigationBarContrast
重置为系统默认值,以免启动画面主题损坏 activity 的主题。从 API 31 开始,启动画面不会创建为PhoneWindow
,因此无需从 API 29 继承值。此外,从applyAppSystemUiTheme
中移除了替换操作,因为enforceNavigationBarContrast
在启动期间可能已从应用端更改,因此通过属性替换它没有意义。Ic2cd9 - 设置遵循白天/夜晚主题的默认浅色导航栏。因此,对于 API 33 及更高版本的平台,移除启动画面时,启动画面主题不会导致闪烁。(I8023a)
- 从 API 33 收到启动画面视图后,请勿覆盖 activity 主题。I10587b
Core Splashscreen 版本 1.1
版本 1.1.0-rc01
2024 年 4 月 3 日
发布了 androidx.core:core-splashscreen:1.1.0-rc01
。版本 1.1.0-rc01 包含这些提交内容。
bug 修复
- 为采用 48x48dp 图标的 Wear 设备提供了默认尺寸(Ib8de8、b/256678037)
- 修复了
SplashScreenView#getIconView
导致 NPE 崩溃的问题 (6abfd6, b/243457485)
版本 1.1.0-alpha02
2023 年 9 月 6 日
发布了 androidx.core:core-splashscreen:1.1.0-alpha02
。版本 1.1.0-alpha02 中包含这些提交内容。
bug 修复
- 为采用 48x48dp 图标的 Wear 设备提供了默认尺寸(Ib8de8、b/256678037)
依赖项更新
- Core-Splashscreen 现在会针对 API 34 进行编译。
版本 1.1.0-alpha01
2023 年 2 月 22 日
发布了 androidx.core:core-splashscreen:1.1.0-alpha01
。这是在内部分支中开发的。
bug 修复
- 修复了
SplashScreenView#getIconView
返回 null 时出现的NullPointerException
。(e231ab)
Core Splashscreen 版本 1.0
版本 1.0.1
2023 年 4 月 19 日
发布了 androidx.core:core-splashscreen:1.0.1
。版本 1.0.1 中包含这些提交内容。
bug 修复
- 为采用 48x48dp 图标的 Wear 设备提供了默认尺寸(Ib8de8、b/256678037)
版本 1.0.0
2022 年 7 月 27 日
核心 SplashScreen 库为搭载 API 23 及更高版本的所有设备带来了新的 Android 12 启动画面。使用启动画面库,您的应用无需任何自定义 SplashScreen activity,并可利用正确的 API 快速启动应用。若要使用它,只需按照我们的指南中的步骤操作即可。如需详细了解 Android 12 启动画面,请参阅官方文档。
发布了 androidx.core:core-splashscreen:1.0.0
。版本 1.0.0 中包含这些提交内容。
版本 1.0.0-rc01
2022 年 5 月 18 日
发布了 androidx.core:core-splashscreen:1.0.0-rc01
。版本 1.0.0-rc01 中包含这些提交内容。
- 与上个 Beta 版相比没有变化。
版本 1.0.0-beta02
2022 年 3 月 23 日
发布了 androidx.core:core-splashscreen:1.0.0-beta02
。版本 1.0.0-beta02 中包含这些提交内容。
bug 修复
- 修复了
Lateinit property platformView has not been initialized
(b/214835299)
外部贡献
- 修复了在深色模式下使用 MIUI 时出现的渲染问题,并明确将
android:animateLayoutChanges
设置为 false,以避免在OnExitAnimationListener
中移除启动画面时出现淡出动画 (#327)
版本 1.0.0-beta01
2022 年 1 月 12 日
发布了 androidx.core:core-splashscreen:1.0.0-beta01
。版本 1.0.0-beta01 中包含这些提交内容。
bug 修复
- 提升了夜间模式处理能力,可确保所有 API 中均使用默认参数时系统能处理夜间模式。2d1d182
修复了 Android 12 的新启动画面中引入的 bug:
- 解决了 API 31 中的 systemBar 闪烁问题:确保系统栏在自定义退出动画时不闪烁。 5a75362
- 解决了使用 OnExitAnimationListener 时出现的边衬区处理问题:确保在使用 OnExitAnimationListener 时内容不会跳转。4c8f264
版本 1.0.0-alpha02
2021 年 9 月 29 日
发布了 androidx.core:core-splashscreen:1.0.0-alpha02
。版本 1.0.0-alpha02 中包含这些提交内容。
新功能
- 更好的边衬区支持:启动画面现在会对所有 API 显示全屏,即使设置了
OnExitAnimationListener
也是如此。 postSplashScreenTheme
是可选操作:您只需在onCreate()
前调用activity.setTheme()
即可在显示启动画面后设置应用主题。- 向后支持
windowSplashScreenIconBackgroundColor
属性:您可以使用Theme.SplashScreen.IconBackground
和windowSplashScreenIconBackgroundColor
将背景添加到启动画面图标。 - 已更正图标的尺寸,使其符合平台规范。
API 变更
- 为 windowSplashScreenIconBackgroundColor 属性添加了向后兼容性
- 将 minSdkVersion 降级为 API 21(Idd050、b/198161849、b/197759820、b/198165621)
bug 修复
- 将
postSplashScreenTheme
设为可选属性 (I8c4bf)
版本 1.0.0-alpha01
2021 年 6 月 30 日
发布了 androidx.core:core-splashscreen:1.0.0-alpha01
。
新功能
core-splashscreen
可向后兼容新的 Splash Screen API。此第一个 Alpha 版本包含向后移植到 API 23 的所有新 API,图标背景除外。- 如需了解使用信息,请参阅
androidx.core.splashscreen
中的 KDocs。
Core Google Shortcuts 版本 1.2
版本 1.2.0-alpha01
2023 年 7 月 26 日
发布了 androidx.core:core-google-shortcuts:1.2.0-alpha01
。版本 1.2.0-alpha01 中包含这些提交内容。
API 变更
- 合并了 a、b、c 路径的公开 API 文件和实验性 API 文件(I8cfee、b/278769092)
- 迁移了
androidx.core
组以使用合并的公共 API 文件(Ifdef4、b/278769092)
Core Google Shortcut 版本 1.1.0
版本 1.1.0
2022 年 10 月 24 日
发布了 androidx.core:core-google-shortcuts:1.1.0
。版本 1.1.0 中包含这些提交内容。
自 1.0.0 以来的重要变更
- 从使用
com.google.firebase:firebase-appindexing
迁移到了新的com.google.android.gms:play-services-appindex
库。此版本的库与com.google.firebase:firebase-appindexing
不兼容。开发者应避免使用这两个库,以免出现构建错误。
版本 1.1.0-rc01
2022 年 10 月 5 日
发布了 androidx.core:core-google-shortcuts:1.1.0-rc01
。版本 1.1.0-rc01 中包含这些提交内容。
新功能
- 从使用
com.google.firebase:firebase-appindexing
迁移到了新的com.google.android.gms:play-services-appindex
库。请注意,此版本的库与com.google.firebase:firebase-appindexing
不兼容。开发者应避免使用这两个库,以免出现构建错误。
版本 1.1.0-beta01
2022 年 9 月 21 日
发布了 androidx.core:core-google-shortcuts:1.1.0-beta01
。版本 1.1.0-beta01 中包含这些提交内容。
新功能
- 移除了未使用的依赖项。没有新功能。
版本 1.1.0-alpha03
2022 年 9 月 7 日
发布了 androidx.core:core-google-shortcuts:1.1.0-alpha03
。版本 1.1.0-alpha03 中包含这些提交内容。
新功能
- 移除了未使用的依赖项。没有新功能。
版本 1.1.0-alpha02
2022 年 8 月 24 日
发布了 androidx.core:core-google-shortcuts:1.1.0-alpha02
。版本 1.1.0-alpha02 中包含这些提交内容。
新功能
- 将依赖项从
com.google.firebase:firebase-appindexing
更新为com.google.android.gms:play-services-appindex
。使用此新版本的开发者不应在外部依赖com.google.firebase:firebase-appindexing
,因为这两个库现在并不兼容。
版本 1.1.0-alpha01
2021 年 8 月 4 日
发布了 androidx.core:core-google-shortcuts:1.1.0-alpha01
。版本 1.1.0-alpha01 中包含这些提交内容。
新功能
- 支持为 Google 应用要显示的“已捐赠”快捷方式中基于 URI 的图标编制索引。
Core 和 Core-ktx 版本 1.6.0
版本 1.6.0
2021 年 6 月 30 日
发布了 androidx.core:core:1.6.0
和 androidx.core:core-ktx:1.6.0
。版本 1.6.0 中包含这些提交内容。
自 1.5.0 以来的重要变更
- 添加了对解析嵌套
ColorStateList
中主题属性的支持。(I2e409、b/155579892) - 向后移植了 CheckedTextView 的可着色背景和对勾标记 (I8575c)
版本 1.6.0-rc01
2021 年 6 月 16 日
发布了 androidx.core:core:1.6.0-rc01
和 androidx.core:core-ktx:1.6.0-rc01
。版本 1.6.0-rc01 中包含这些提交内容。
API 变更
- JobIntentService 已废弃,取而代之的是 WorkManager(Ic7749、b/149049019)
版本 1.6.0-beta02
2021 年 6 月 2 日
发布了 androidx.core:core:1.6.0-beta02
和 androidx.core:core-ktx:1.6.0-beta02
。版本 1.6.0-beta02 中包含这些提交内容。
bug 修复
- 更新了
BuildCompat
,现在可在最新平台上使用当前的长按超时设置 (b/185118174) - 从
ContextCompat
和ContentLoadingProgress
方法中删除了synchronized
。
版本 1.6.0-beta01
2021 年 5 月 18 日
发布了 androidx.core:core:1.6.0-beta01
和 androidx.core:core-ktx:1.6.0-beta01
。版本 1.6.0-beta01 中包含这些提交内容。
API 变更
- 向后移植了
Objects.requireNonNull()
(I27db5、b/179904366)
版本 1.6.0-alpha03
2021 年 5 月 5 日
发布了 androidx.core:core:1.6.0-alpha03
和 androidx.core:core-ktx:1.6.0-alpha03
。版本 1.6.0-alpha03 中包含这些提交内容。
新功能
- 添加了对解析嵌套
ColorStateList
中主题属性的支持。(I2e409、b/155579892)
bug 修复
在由 AppCompat 支持的视图中处理
null
自定义选择操作模式回调时,防止出现 NPE。(I033c7、b/173435375)在版本低于 30 的 SDK 上添加了对 setSystemBarsBehavior 的支持。(I062c8、b/173203649)
版本 1.6.0-alpha02
2021 年 4 月 15 日
发布了 androidx.core:core:1.6.0-alpha02
和 androidx.core:core-ktx:1.6.0-alpha02
。版本 1.6.0-alpha02 中包含这些提交内容。
API 变更
- 添加了
TelephoneManagerCompat
和SubscriptionManagerCompat
(I5568d) - 从
ShortcutInfoCompat
中移除了废弃的addCapabilityBinding
方法 (Ie8f70) - 向
ShortcutInfoCompat.Builder
添加了带参数的addCapabilityBinding
setter 和不带参数的addCapabilityBinding
setter,废弃了旧的addCapabilityBinding
(I90686) - 添加了
LocationCompat
类和LocationManagerCompat.getCurrentLocation()
(I78d9a) - 废弃了
ModeCompat.isNative
,改为使用DisplayCompat.getMode
。(I9a6a2) - 添加了
ContextCompat.getAttributionTag()
和UserHandleCompat.getUserHandleForUid()
(Iea486)
外部贡献
- 向后移植
CheckedTextView
的可着色背景和对勾标记 (I8575c)
版本 1.6.0-alpha01
2021 年 3 月 24 日
发布了 androidx.core:core:1.6.0-alpha01
和 androidx.core:core-ktx:1.6.0-alpha01
。版本 1.6.0-alpha01 中包含这些提交内容。
API 变更
- 添加了
Handler.hasCallbacks()
方法,以便与平台 SDK 保持一致(Idce1c、b/113855676) - 向
ShortcutInfoCompat.Builder
添加了与功能相关的 setter 方法 (I45af6)
Core Google Shortcuts 版本 1.0
版本 1.0.1
2022 年 5 月 18 日
发布了 androidx.core:core-google-shortcuts:1.0.1
。版本 1.0.1 中包含这些提交内容。
bug 修复
- 修复了 Proguard 规则,以防止方法被意外移除
版本 1.0.0
2021 年 6 月 30 日
发布了 androidx.core:core-google-shortcuts:1.0.0
。版本 1.0.0 中包含这些提交内容。
1.0.0 的主要功能
添加此模块后,系统还可以将使用 ShortcutManagerCompat 保存的快捷方式同时捐赠给 Google。如此一来,系统会使用这些快捷方式为用户解锁其他功能,例如将这些快捷方式显示为建议或允许 Google 助理通过语音查询实现这些快捷方式。可以捐赠的快捷方式数量没有限制,以这种方式捐赠的快捷方式将保存在设备中。如需了解详情,请参阅有关将动态快捷方式推送给 Google 助理的完整文档。
版本 1.0.0-rc01
2021 年 6 月 16 日
发布了 androidx.core:core-google-shortcuts:1.0.0-rc01
。版本 1.0.0-rc01 中包含这些提交内容。
版本 1.0.0-beta01
2021 年 5 月 18 日
发布了 androidx.core:core-google-shortcuts:1.0.0-beta01
。版本 1.0.0-beta01 中包含这些提交内容。
新功能
- 通过
core-google-shortcuts
库添加的快捷方式将保存为 Firebase appindexing 中的 Shortcut 对象,而非通用的 schema.org/Thing 对象。
bug 修复
- 从该库中移除了 minSdkVersion 要求。该库仍将只适用于 API 版本 21 及更高版本,但不再需要将应用自己的 minSdkVersion 设置为 21。
版本 1.0.0-alpha03
2021 年 5 月 5 日
发布了 androidx.core:core-google-shortcuts:1.0.0-alpha03
。版本 1.0.0-alpha03 中包含这些提交内容。
bug 修复
- 添加/更新快捷方式后,不再自动报告快捷方式的使用情况,而是将使用情况报告移至
ShortcutManagerCompat#pushDynamicShortcut
。
版本 1.0.0-alpha02
2021 年 4 月 15 日
发布了 androidx.core:core-google-shortcuts:1.0.0-alpha02
。版本 1.0.0-alpha02 中包含这些提交内容。
新功能
- 通过利用作为可选组件的
androidx.core:core-google-shortcuts
与androidx.core
;您可以开始使用ShortcutManagerCompat
来贡献将被 Google 使用的快捷方式。 - 新的 TrampolineActivity 将与依靠此模块的应用合并。TrampolineActivity 将用于打开此模块所贡献的快捷方式。
API 变更
- 添加了
ShortcutInfoChangeListenerImpl
,供ShortcutManagerCompat
用于向 Firebase App Index 贡献快捷方式。
Core 和 Core-ktx 版本 1.5.0
版本 1.5.0
2021 年 5 月 18 日
发布了 androidx.core:core:1.5.0
和 androidx.core:core-ktx:1.5.0
。版本 1.5.0 中包含这些提交内容。
自版本 1.4.0 以来的重要变更
- 支持新的 Insets Animation API
- 更新了
OnReceiveContentListener
,以支持富媒体内容 - 向后移植了
WindowInsetsController
和WindowInsetsCompat
API,以控制系统栏外观 - 更新了
ActivityCompat.recreate()
,以便在任何 API 级别从任何生命周期状态安全地调用此方法。 - 添加了 API,以便通过
EditorInfoCompat
提供和检索初始周围文字,从而使 IME 应用避免出现额外的 IPC 延迟。 - 进行了多项更新,提高了与平台 SDK API 的一致性
版本 1.5.0-rc02
2021 年 5 月 5 日
发布了 androidx.core:core:1.5.0-rc02
和 androidx.core:core-ktx:1.5.0-rc02
。版本 1.5.0-rc02 中包含这些提交内容。
bug 修复
- 在版本低于 30 的 SDK 上添加了对 setSystemBarsBehavior 的支持。(I062c8、b/173203649)
版本 1.5.0-rc01
2021 年 3 月 24 日
发布了 androidx.core:core:1.5.0-rc01
和 androidx.core:core-ktx:1.5.0-rc01
。版本 1.5.0-rc01 中包含这些提交内容。
摘要
- 与之前的 beta03 相比没有任何变化
版本 1.5.0-beta03
2021 年 3 月 10 日
发布了 androidx.core:core:1.5.0-beta03
和 androidx.core:core-ktx:1.5.0-beta03
。版本 1.5.0-beta03 中包含这些提交内容。
API 变更
- 添加了 ExecutorCompat,它会根据处理程序创建 Executor。(Ib4ca3、b/181237835)
版本 1.5.0-beta02
2021 年 2 月 24 日
发布了 androidx.core:core:1.5.0-beta02
和 androidx.core:core-ktx:1.5.0-beta02
。版本 1.5.0-beta02 中包含这些提交内容。
bug 修复
- 废弃了
ModeCompat.isNative
,改为使用DisplayCompat.getMode
。(Iefa71) NotificationCompat.MessagingStyle.getText()
之前被错误地标记为@NonNull
;现已标记为@Nullable
(I05cb7)
版本 1.5.0-beta01
2021 年 1 月 13 日
发布了 androidx.core:core:1.5.0-beta01
和 androidx.core:core-ktx:1.5.0-beta01
。版本 1.5.0-beta01 中包含这些提交内容。
API 变更
- 遵循关于边界兼容性/平台互操作性的 API 准则 (I7da35)
- 将 AppCompatEditText 中的拖放事件(放置事件)与 OnReceiveContentListener 进行了集成。(Ib26c9、b/175343405)
- 将新的 Insets Animation API 连接到了平台实现 (I078da)
- 添加了新的 Insets Animation API (I8aebd)
- 更新了 OnReceiveContentListener 和相关 API:
- 更新了 OnReceiveContentListener,这样就可以通过 ViewCompat 在任何类型的视图中设置该方法。
- 从
OnReceiveContentListener
中移除了getSupportedMimeTypes()
;现在,MIME 类型会作为附加参数传递给设置监听器的ViewCompat
方法。 - 将参数封装到对象中的
OnReceiveContentListener.onReceiveContent()
。 - 以参数形式向
onReceiveContent()
添加了 linkUri,以确保与键盘图片 API 的向后兼容性。 - 向
onReceiveContent()
添加了 Bundle 参数,以确保与键盘图片 API 的向后兼容性,并且便于在将来改进 API。 - 更新了
onReceiveContent()
,以返回未被使用的任何内容,作为委托为默认处理的方法。 - 从公共 API 中移除了
TextViewOnReceiveContentListener
,因为现在可以通过从监听器返回任何未被使用的内容触发默认行为。 - (Ib4616、b/173814913)
- 已废弃
BuildCompat.isAtLeastR
(Idb37e) - 已将
widget.RichContentReceiverCompat
移至view.OnReceiveContentListener
。(Ifdab7、b/173814913) - 添加了
Preconditions.checkFlagsArgument
。(I43952、b/174181100) - 废弃了用于出站共享的自定义菜单。(I7cd92)
- 现在,通知可以标记为未接电话。(I14d90)
- 添加了
PackageInfoCompat#getSignatures
,用于检索软件包的证书数组(I8e9a3、b/159831205)
bug 修复
- 修复了设置
BigPictureStyle.bigLargeIcon
会在新版 OS 上中断该通知的BigPictureStyle
的 bug。(Ic623d)
外部贡献
- ShareCompat 现在使用构造函数进行创建,而旧的工厂方法已被废弃。现在,您可以通过 Context 创建构建器和读取器,不再需要 activity。(I315b6、b/173043501)
- 使用 ShareCompat 共享数据流时,设置剪辑数据并授予 URI 读取权限(I4aa31、b/173137936)
版本 1.5.0-alpha05
2020 年 11 月 11 日
发布了 androidx.core:core:1.5.0-alpha05
和 androidx.core:core-ktx:1.5.0-alpha05
。版本 1.5.0-alpha05 中包含这些提交内容。
API 变更
- 添加了对新版 GnssStatus API 的支持 (Id8e22)
- 添加了
FileProvider#getUriForFile
的重载以支持自定义文件名 (Ie870b) - 向后移植了用于控制系统栏外观的
WindowInsetsController
API。(Ieb4ee) - 已将接受布尔值的
getFont
重命名为getCachedFont
(Iea520) - 向后移植了 WindowInsetsController API 中的
#hide()
和#show()
方法,添加到了 API 30 中 (I21573) - 添加了包含 cacheOnly 选项的新 API
ResourcesCompat#getFont
(Ic38cf) - 更新了适用于 Android 11 的 AndroidX 通知对话泡 API (Ib9c70)
版本 1.5.0-alpha04
2020 年 10 月 1 日
发布了 androidx.core:core:1.5.0-alpha04
和 androidx.core:core-ktx:1.5.0-alpha04
。版本 1.5.0-alpha04 中包含这些提交内容。
API 变更
- 修复了使用
NotificationCompat.Builder.<init>(Context,Notification)
时出现的样式恢复不完整问题 (Ib297a) - 现已推出新的通知类别类型 (I9521a)
bug 修复
- 允许从任何 API 级别的任何生命周期状态安全地调用
ActivityCompat.recreate()
。(I62dde、b/160122826)
版本 1.5.0-alpha03
2020 年 9 月 16 日
发布了 androidx.core:core:1.5.0-alpha03
和 androidx.core:core-ktx:1.5.0-alpha03
。版本 1.5.0-alpha03 中包含这些提交内容。
API 变更
ViewCompat
是一个实用程序类,不应被实例化。(If20fa)- 用于提供和检索初始周围文字的 API 已向后移植到
EditorInfoCompat
。这些 API 支持 IME 应用,可避免出现额外的 IPC 延迟。(Ie3809) - 通过 compat 对象查询通知渠道和渠道组。(I11d18)
bug 修复
- 对于 P 之前的版本,确保将窗格标记为对无障碍功能非常重要,且支持
CONTENT_CHANGE_TYPE_PANE_DISAPPEARED
事件。(Iaeffc)
外部贡献
- 针对 androidx 启用了 StaticFinalBuilder 的 API lint 检查(I2b11b、b/138602561)
版本 1.5.0-alpha02
2020 年 8 月 19 日
发布了 androidx.core:core:1.5.0-alpha02
和 androidx.core:core-ktx:1.5.0-alpha02
。版本 1.5.0-alpha02 中包含这些提交内容。
新功能
WindowInsetsCompat
API 已更新至 Android 11 平台中的相应 API。这包括新的ime()
边衬区类型,可用于检查屏幕键盘的可见性和大小。- 关于
ime()
类型的一些注意事项:当您的 Activity 使用adjustResize
窗口软输入模式时,它可以在 API 23 及以上级别上非常可靠地运行。如果您改为使用adjustPan
模式,则应该回退至 API 14,它才能可靠地运行。
- 关于
API 变更
- 添加了
ObjectsCompat#toString(Object, String)
。此函数提供Objects#toString(Object, String)
的行为,但可用于 API 级别 19 之前的级别。(I26cdc) - 添加了
NotificationCompat.Builder.recoverBuilder(Notification)
(I6f100) - 添加了
NotificationCompat.Builder.createContentView()
和类似方法 (I6fe13) - 在 AccessibilityNodeInfoCompat 中添加了与 extra 数据相关的 API (I19567)
- 添加了
NotificationCompat.Builder.setSettingsText
和NotificationCompat.MessagingStyle.addHistoricMessage
(I62bb6) - 更新了通知文档 (I1293f)
- 修复了 NotificationCompat.Builder 的可为 null 性 (I932e3)
- 添加了
NotificationChannelCompat
和NotificationChannelGroupCompat
(Icc3b6) - 在
AccessibilityNodeProviderCompat
中添加了addExtraDataToAccessibilityNodeInfo
(I26575) - 将 WindowInsetsCompat 更新为 Android 11 API (I3df9e)
外部贡献
- 为
MailTo
方法添加了Uri
重载 (I6fa6b) - 添加了提供一致行为的
MailTo
API 以及适用于所有 API 级别的 bug 修复(Ie9395、b/159827506)
版本 1.5.0-alpha01
2020 年 6 月 10 日
发布了 androidx.core:core:1.5.0-alpha01
和 androidx.core:core-ktx:1.5.0-alpha01
。
新功能
- 提供了等同于 Android R 平台 SDK API 用于
ShortcutManager
、ShortcutInfo
、AccessibilityNodeInfo
、DisplayCutout
、GnssStatus
和Notification
类的功能
bug 修复
- 明确建议检查 shouldShowPermissionRationale。
- 更改了 AtomicFile 以使用 rename-into-place。
- 使用指定字体的样式调整 Typeface 显示样式。(b/156853883)
- 修复了通知构建器测试失败的问题
- 修复了注册/取消注册 bug
LocationManagerCompat
。
Core 和 Core-ktx Version 1.4.0
版本 1.4.0-alpha01
2020 年 5 月 20 日
发布了 androidx.core:core:1.4.0-alpha01
和 androidx.core:core-ktx:1.4.0-alpha01
。版本 1.4.0-alpha01 中包含这些提交内容。
API 变更
- 添加了用于插入富媒体内容(例如粘贴图片)的通用 API。新回调提供了一个 API,应用可以实现该单一 API 来支持以不同的方式插入富媒体内容。目前,该 API 仅添加到了
AppCompatEditText
,并将为以下代码路径调用:- 从剪贴板粘贴
- 从 IME 插入内容 (
InputConnection.commitContent
) (I22bf7)
- 向后移植了
android.os.Process.isApplicationUid(int)
,有助于应用确定代码是否在独立的进程中执行(I4c83a、b/153014822) - 向后移植了
LocusId
,有助于应用在不同子系统(例如内容捕获、快捷方式和通知)之间关联状态。(Ia3129) - 在 ViewGroup 添加了祖先序列(I5f75c、b/117976097)
bug 修复
- 针对
ActivityCompat.requestPermissions()
添加了权限验证(I372cc、b/122163323) - 将 v28+ 调用提取到一个单独的静态类中,该静态类修复了在构建 app bundle 时
View#OnUnhandledKeyEventListener
发生的NoClassDefFoundError
错误(Id3419、b/153695093) - 修复了
setChronometerCountDown
崩溃的 bug(I47282、b/145770610)
Core 和 Core-ktx 版本 1.3.2
版本 1.3.2
2020 年 10 月 1 日
发布了 androidx.core:core:1.3.2
和 androidx.core:core-ktx:1.3.2
。版本 1.3.2 中包含这些提交内容。
bug 修复
- 允许从任何 API 级别的任何生命周期状态安全地调用
ActivityCompat.recreate()
。(I62dde、b/160122826)
Core 和 Core-ktx 版本 1.3.1
版本 1.3.1
2020 年 7 月 22 日
发布了 androidx.core:core:1.3.1
和 androidx.core:core-ktx:1.3.1
。版本 1.3.1 中包含这些提交内容。
bug 修复
- 修复了 API 级别 29 平台上解析后的字体资源
Typeface
的粗细和样式值错误的问题 (b/156853883)
Core 和 Core-ktx 版本 1.3.0
版本 1.3.0
2020 年 5 月 27 日
发布了 androidx.core:core:1.3.0
和 androidx.core:core-ktx:1.3.0
。版本 1.3.0 中包含这些提交内容。
自 1.2.0 以来的重要变更
- 新增了
NestedScrollView
API,可实现在指定时长内顺畅滚动 - 新增了
ViewCompat
API,可用于检索已分派给视图层次结构的原始窗口边衬区
版本 1.3.0-rc01
2020 年 4 月 15 日
发布了 androidx.core:core:1.3.0-rc01
和 androidx.core:core-ktx:1.3.0-rc01
。版本 1.3.0-rc01 中包含这些提交内容。
bug 修复
WindowInsetsCompat
现在可以在所有支持的 API 级别正确实现hashCode()
和equals()
。
版本 1.3.0-beta01
2020 年 4 月 1 日
发布了 androidx.core:core:1.3.0-beta01
和 androidx.core:core-ktx:1.3.0-beta01
。版本 1.3.0-beta01 中包含这些提交内容。
版本 1.3.0-alpha02
2020 年 3 月 4 日
发布了 androidx.core:core:1.3.0-alpha02
和 androidx.core:core-ktx:1.3.0-alpha02
。版本 1.3.0-alpha02 中包含这些提交内容。
API 变更
- 新增了
NestedScrollView
API,可实现在指定时长内顺畅滚动 - 新增了
ViewCompat
API,可用于检索已分派给视图层次结构的原始窗口边衬区
版本 1.3.0-alpha01
2020 年 1 月 29 日
发布了 androidx.core:core:1.3.0-alpha01
和 androidx.core:core-ktx:1.3.0-alpha01
。版本 1.3.0-alpha01 中包含这些提交内容。
新功能
- 添加了
ContentProviderCompat
- 添加了
WindowInsetsCompat.Builder
API 变更
- 添加了
NotificationCompat
API,可用于将通知实例静音 - 添加了
ResourcesCompat.NULL_ID
- 废弃了
NotificationCompat
中的CarExtender.UnreadConversation
- 添加了
DisplayCompat
API,可用于获取设备的物理尺寸
bug 修复
- 改进了
NotificationCompat
中没有图标的处理操作 - 修复了在 API 级别 23,相对于复合可绘制对象,在 TextView 上对可绘制对象进行着色的问题 (aosp/1172194)
- 确保了基本上下文始终是封装容器
- 修复了默认情况下 RecyclerView 不应填充 Collection[Item]Info 的问题
版本 1.2.0
版本 1.2.0
2020 年 2 月 5 日
发布了 androidx.core:core:1.2.0
和 androidx.core:core-ktx:1.2.0
。版本 1.2.0 中包含以下提交内容。
自 1.1.0 以来的重要变更
- 在
NotificationCompat
中添加了新的 API 和 bug 修复 - 添加了可与 AndroidQ 中以向后兼容方式引入的
BlendMode
结合使用的新 API - 在 AccessibilityCompat 中添加了新的 API 和 bug 修复
- 添加了可与
ShortcutInfo
结合使用的新 API - 添加了可与
WindowInsets
结合使用的新 API - 修复了
EditorInfoCompat
、ShareCompat
、WakefulBroadcastReceiver
和InputConnectionCompat
中 28.0(支持库)与 1.1 (AndroidX) 之间的软件包密钥字符串的向后兼容性问题
版本 1.2.0-rc01
2019 年 11 月 20 日
发布了 androidx.core:core:1.2.0-rc01
和 androidx.core:core-ktx:1.2.0-rc01
,这两个版本与 1.2.0-beta02
相比没有变化。版本 1.2.0-rc01 中包含这些提交内容。
版本 1.2.0-beta02
2019 年 11 月 7 日
发布了 androidx.core:core:1.2.0-beta02
和 androidx.core:core:1.2.0-beta02
。版本 1.2.0-beta02 中包含这些提交内容。
bug 修复
- 更新了 en-rCA 和 en-rXC 语言区域的翻译。
版本 1.2.0-beta01
2019 年 10 月 9 日
发布了 androidx.core:core:1.2.0-beta01
和 androidx.core:core-ktx:1.2.0-beta01
。版本 1.2.0-beta01 中包含这些提交内容。
API 变更
- 增加了对使用 IconCompat 创建 NotificationCompat Action 的支持,并且废弃了以资源 ID 代表 Action 图标的公开字段(及其 getter)。(aosp/1119192)
- 针对长整型添加了
MathUtils.clamp
(aosp/1117300) - 向
NotificationCompat
添加了setChronometerCountDown
(b/138601213)
bug 修复
- 修复了地址检测中处理 Unicode 数字的问题。(aosp/1129852)
外部贡献
- 感谢 Sergey Zakharov 为在 AndroidX 中针对 MissingBuild 和 ListenerLast 启用 API lint 检查做出的贡献!(aosp/1119191、aosp/1126768)
版本 1.2.0-alpha04
2019 年 9 月 5 日
发布了 androidx.core:core:1.2.0-alpha04
和 androidx.core:core-ktx:1.2.0-alpha04
。点击此处可查看此版本中包含的提交内容。
API 变更
- 废弃了
ShortcutInfoCompat.Builder#setLongLived()
并且将其替换为接受布尔值作为参数且名称不变的新 API,以与 Android 框架的ShortcutInfo.Builder
中的类似 API 匹配。 - 添加了
ShortcutInfoCompat.Builder#setRank()
和ShortcutInfoCompat#getRank()
以与 Android 框架中的ShortcutInfo
匹配。
bug 修复
- 在手势超出轻触溢出值之前,不再执行嵌套预滚动(b/139530818、aosp/1105373)。这对 ViewPager2 和其他库有益。
版本 1.2.0-alpha03
2019 年 8 月 7 日
发布了 androidx.core:core:1.2.0-alpha03
和 androidx.core:core-ktx:1.2.0-alpha03
。点击此处可查看此版本中包含的提交内容。
新功能
- 添加了
UriCompat.toSafeString(Uri)
以提供可单独从平台更新的 URI 转义。(b/130878326) - 添加了
Predicate<T>
接口以提供 Java 8 风格的谓词,而无需 Java 8 语言功能。
API 变更
- 将
removeDynamicShortuct()
变为了静态 (b/134993204) - 为 BlendMode 色彩滤镜创建了工厂方法 (b/135943149)
- 向
TraceCompat
添加了async
、counter
和isEnabled
(aosp/987332) - 取消隐藏了
WindowInsetsCompat
和ViewDragHelper
(aosp/979408)
bug 修复
- 修复了响应 a11y 滚动调用方面存在的
NestedScrollView
滚动 bug。(aosp/971000) - 已切换为在
ViewCompat
实现中使用SimpleArrayMap
(aosp/1012534) - 修复了 FingerprintManager 在 API 级别 23 上不当检查 PackageManager 的 bug (b/124066957)
版本 1.2.0-alpha02
2019 年 6 月 13 日
发布了 androidx.core:core:1.2.0-alpha02
和 androidx.core:core-ktx:1.2.0-alpha02
。点击此处可查看此版本中包含的提交内容。
API 变更
- 添加了 WindowInsetsCompat.wrap() 和 unwrap(),以便能够封装和解封装 WindowInsets 实例
版本 1.2.0-alpha01
2019 年 5 月 7 日
发布了 androidx.core:core:1.2.0-alpha01
和 androidx.core:core-ktx:1.2.0-alpha01
。
新功能
- 添加了
ACTION_PAGE_UP/DOWN/NEXT/PREVIOUS
无障碍操作 - 将
CATEGORY_NOTIFICATION
添加到了 NotificationCompat - 添加了对上下文通知操作的支持
- 添加了对 NotificationCompat 中气泡的支持
- 添加了 BlendModeCompat API,以利用 Android 10 上的 BlendMode API 并尽可能回退到
PorterDuff.Mode
等效项 - 向 WindowInsetsCompat 和 ViewCompat 添加了新的 getter
- 添加了对在通知中点按即可修改的支持
- DrawerLayout 系统手势排除 rect
- 添加了 NotificationCompat API,决定是否允许使用系统生成的上下文操作
- 对 NavUtils 中停用的
<activity-alias>
进行了处理 - 添加了
AccessibilityNodeInfoCompat.setEntryKey
bug 修复
- 修复了在 TypefaceCompat 中加载字体时发生的异常
- 修复了各种 DayNight 问题
- 修复了 EditorInfoCompat、ShareCompat、
WakefulBroadcastReceiver
和InputConnectionCompat
中 28.0(支持库)和 1.1 (AndroidX) 之间的软件包密钥字符串的向后兼容性问题
版本 1.1.0
版本 1.1.0
2019 年 9 月 5 日
发布了 androidx.core:core:1.1.0
和 androidx.core:core-ktx:1.1.0
。点击此处可查看此版本中包含的提交内容。
自 1.0.0 以来的重要变更
- 更新了无障碍功能 API 以与 Android 10 平台的无障碍功能 API 匹配
- 添加了嵌套滚动改进;请参阅
NestedScrollingChild3
和NestedScrollingParent3
。 - 此库不再在其 API 中公开
androidx.collection
依赖项。如果您是通过 Core 上的依赖项隐式依赖androidx.collection
类型,将需要在您的库或应用中添加显式androidx.collection
依赖项。此变更与源不兼容,但保留了二进制文件兼容性。Collection 依赖项仍然是 Core 的传递依赖项,但被视为实现细节而非其 API 的一部分。 - 解决了由 androidx 重构导致的 IPC 兼容性问题(aosp/948725、aosp/938269)
- 添加了对 AppCompat DayNight 的各种修复 (aosp/942956)
版本 1.1.0-rc03
2019 年 8 月 7 日
发布了 androidx.core:core:1.1.0-rc03
和 androidx.core:core-ktx:1.1.0-rc03
。点击此处可查看此版本中包含的提交内容。
bug 修复
- 使隐藏的
androidx.core.app.ComponentActivity
实现LifecycleOwner
以保持与androidx.fragment:fragment:1.0.0
的二进制文件兼容性 (aosp/1094409)
版本 1.1.0-rc02
2019 年 7 月 2 日
发布了 androidx.core:core:1.1.0-rc02
和 androidx.core:core-ktx:1.1.0-rc02
。点击此处可查看此版本中包含的提交内容。
bug 修复
- API 级别 23 上的
FingerprintManagerCompat#getFingerprintManagerOrNull
不应检查PackageManager
(b/124066957) (aosp/987433) - 修复了 AccessibilityNodeInfoCompat 中的等式比较问题 (aosp/985736)
版本 1.1.0-rc01
2019 年 6 月 5 日
发布了 androidx.core:core:1.1.0-rc01
和 androidx.core:core-ktx:1.1.0-rc01
。点击此处可查看此版本中包含的提交内容。
bug 修复
- 使图片键盘 API 向后移植与所有以前的实现兼容 (aosp/968220)
- 从 androidx.core:core 库依赖项中移除了 Guava ListenableFuture(b/133171974、aosp/965393)
- 修复了通过嵌套滚动滑动时速度不正确的问题。(aosp/961642)
- 添加了
TransitionDrawable
转变测试 (b/37033322)
版本 1.1.0-beta01
2019 年 5 月 7 日
发布了 androidx.core:core:1.1.0-beta01
和 androidx.core:core-ktx:1.1.0-beta01
。点击此处可查看此版本中包含的提交内容。
AndroidX 的初始版本破坏了用于进程间通信的支持库 compat
API 的向后兼容性,以包的形式发送键控数据。此版本修复了该兼容性问题,恢复了使用支持库 28.0(或更低版本)构建的代码与使用 AndroidX 1.1(或更高版本)构建的代码之间的通信。
API 变更
- 未被废弃的功能 setter (aosp/937281)
RemoteActionCompat
现在是 1VersionedParcelable` (aosp/928534)
bug 修复
- core 测试中的 AppCompatTextView 应使用 appcompat 主题背景创建 (aosp/951636)
- 可对 InputConnectionCompat 使用 1.0 之前版本的字符串值 (aosp/948725)
- 使用 AndroidX 之前版本的字符串作为软件包密钥的回退交互操作工具 (aosp/938269)
- 修复了在后台进行 DayNight 更新的相关 bug (aosp/942956)
- 实现了 AOSP 键盘中用于无障碍服务的文本输入键 API (aosp/943897)
- 修复了在搭载 API 级别 20 及更低版本的设备上加载字体时发生的异常
- 对 NavUtils 中停用的
<activity-alias>
组件进行了处理 (aosp/940788)
版本 1.1.0-alpha05
2019 年 3 月 13 日
发布了 androidx.core:core:1.1.0-alpha05
和 androidx.core:core-ktx:1.1.0-alpha05
。点击此处可查看此版本中包含的完整提交内容列表。
新功能
- 新增了
ActivityCompat.recreate()
API,用于解决级别 28 之前平台的 bug (aosp/898940) - 新增了
LocationManagerCompat
类 (aosp/894736)
API 变更
- 此库不再将“collection”依赖项作为其 API 的一部分提供。如果您之前通过“core”的依赖项隐式依赖于“collection”类型,将需要向您的库或应用添加显式“collection”依赖项。此变更与源代码不兼容,但保留了二进制文件兼容性。“collection”依赖项仍然是“core”的传递依赖项,但作为实现细节而非其 API 的一部分。
bug 修复
- 修复了运行 API 级别 21 的设备上
ImageView
的默认色调模式存在的 bug
版本 1.1.0-alpha04
2019 年 1 月 30 日
发布了 androidx.core:core 1.1.0-alpha04
和 androidx.core:core-ktx 1.1.0-alpha04
。
API 变更
- 更改了
EXTRA_SHORTCUT_ID
的值以与平台保持一致 (aosp/877712) - 向
NotificationCompat
添加了CATEGORY_NOTIFICATION
(aosp/861067)
bug 修复
- 修复了 fontFamily 在搭载 API 级别 24 及更低版本的设备上无法正常运行的问题 (aosp/807054)
- 修复了替换无障碍操作以及添加无障碍操作时未移除旧无障碍操作的 bug (aosp/848314)
版本 1.1.0-alpha03
2018 年 12 月 17 日
发布了 androidx.core 1.1.0-alpha03
和 androidx.core-ktx 1.1.0-alpha03
及以下变更。发布了 androidx.core-ktx 1.1.0-alpha02
,以提供 androidx.core 1.1.0-alpha02
的 ktx 匹配项。
新功能
- 向
NotificationManagerCompat
添加了通知渠道方法,因此开发者可以在处理通知时仅使用NotificationManagerCompat
。特别感谢 Zdeněk Kořán 为这项新功能做出的贡献!
API 变更
- 向
ShortcutManagerCompat
添加了新的 API,用于发布和更新动态快捷方式。
版本 1.1.0-alpha01
2018 年 11 月 5 日
发布了 androidx.core 1.1.0-alpha01
,并包含以下 API 变更和 bug 修复。
新功能和 API 变更
- NestedScrollingChild3 和 NestedScrollingParent3 向过载的 dispatchNestedScroll 和 * onNestedScroll 方法添加了“consumed”参数,使驱动嵌套滚动的视图能够更好地了解父项在每一遍嵌套滚动中所消耗*的滚动距离。
- NestedScrollView 现在实现了 NestedScrollingChild3 和 NestedScrollingParent3,因此不能保证会调用 dispatchNestedScroll 和 onNestedScroll 的 NestedScrollingChild2 和 * NestedScrollingParent2 实现。如果开发者*指望这两者中的任意一个被调用,还应替换新嵌套滚动 3 版本的 dispatchNestedScroll 和 onNestedScroll。
- ShortcutInfoCompat 具有以下新字段:Persons、categories 和 isLongLived。添加这些字段是为了告知它可接受各种类型*的内容。
- 已将 SupportActivity 重命名为 ComponentActivity。如需了解详情,请参阅 androidx.activity。
- 添加了 getMainExecutor() 方法,该方法会返回一个执行器链接,将在与该*上下文关联的主线程上运行已加入队列的任务。
- 添加了 Resources.getFloat 的兼容性实现。
- 向兼容性 RemoteInput 添加了结果来源。这样可让应用出于日志记录目的区分直接回复和智能回复。
- 为 TextView TextWatcher 操作添加了 Kotlin 扩展函数。
- 废弃了 AccessibilityNodeInfo 功能和 setter 标记;现在改用操作。
- 向 ViewCompat 添加了 AccessibilityPane。
- 通过添加 AccessibilityClickableSpanCompat,在 Android 版本低于 O 的设备上提供了 ClickableSpan。
- 废弃了
AccessibilityNodeInfoCompat.setFocusable()
、setClickable()
、setLongClickable()
、setScrollable()
和setContextClickable()
。添加了AccessibilityAction
。 - 添加了
ViewCompat.setAccessibilityPaneTitle()
、getAccessibilityPaneTitle()
、setScreenReaderFocusable()
、isScreenReaderFocusable()
、setAccessibilityHeading()
和isAccessibilityHeading()
,将此View
无障碍功能向后移植,直到 API 19。 - 添加了
ViewCompat.enableAccessibleClickableSpanSupport()
,让开发者能够使非网址ClickableSpan
的可访问性向后兼容,直到 API 19。
bug 修复
- 修复了在使用可下载字体的情况下网络出现故障时会导致
ResourcesCompat.getFont()
崩溃的 bug。 - 修复了
ContentResolver
返回 null 时 TypefaceCompatApi21 出现 null 指针异常的问题。 - 修复了 Array Utils 希望获得 ColorStateList 但获得的却是原色的类型错误。
Core-Animation 和 Core-Animation-Testing 1.0.0
版本 1.0.0
2024 年 5 月 1 日
发布了 androidx.core:core-animation:1.0.0
和 androidx.core:core-animation-testing:1.0.0
。版本 1.0.0 包含这些提交内容。
1.0.0 的主要功能
androidx.core:core-animation
是 Animator API 的向后移植,包括自 API 级别 14 以来添加到平台中的所有功能。一些重要功能包括:
ValueAnimator#pause
、ValueAnimator#resume
(API 级别 19)ObjectAnimator.ofMultiInt
、ObjectAnimator.ofMultiFloat
(API 级别 21)ValueAnimator#setCurrentFraction
(API 级别 22)AnimatorSet#setCurrentPlayTime
(API 级别 26)androidx.core:core-animation-testing
允许开发者以确定的方式测试 Animator。如需了解详情,请参阅AnimatorTestRule
。
版本 1.0.0-rc01
2023 年 7 月 26 日
发布了 androidx.core:core-animation:1.0.0-rc01
、androidx.core:core-animation-testing:1.0.0-rc01
和 androidx.core:core-remoteviews:1.0.0-rc01
。版本 1.0.0-rc01 中包含这些提交内容。
新功能
RemoteViews
在 Beta 版中稳定后已移至 rc01。
版本 1.0.0-beta01
2022 年 4 月 20 日
发布了 androidx.core:core-animation:1.0.0-beta01
,该版本与 1.0.0-alpha02 相比没有变化。版本 1.0.0-beta01 中包含这些提交内容。
Core-Animation Core-Animation-Testing 版本 1.0.0-alpha02
2020 年 8 月 19 日
发布了 androidx.core:core-animation:1.0.0-alpha02
和 androidx.core:core-animation-testing:1.0.0-alpha02
。版本 1.0.0-alpha02 中包含这些提交内容。
bug 修复
- 修复了 AnimatorSet 为单个属性设置多个 Animator 时的问题。(aosp/1351310)
Core-Animation 版本 1.0.0-alpha01
2020 年 4 月 15 日
发布了 androidx.core:core-animation:1.0.0-alpha01
和 androidx.core:core-animation-testing:1.0.0-alpha01
。版本 1.0.0-alpha01 中包含这些提交内容。
新功能
androidx.core:core-animation
是 Animator API 的向后移植,包括自 API 级别 14 以来添加到平台中的所有功能。一些重要功能包括:
ValueAnimator#pause
、ValueAnimator#resume
(API 级别 19)ObjectAnimator.ofMultiInt
、ObjectAnimator.ofMultiFloat
(API 级别 21)ValueAnimator#setCurrentFraction
(API 级别 22)AnimatorSet#setCurrentPlayTime
(API 级别 26)androidx.core:core-animation-testing
允许开发者以确定的方式测试 Animator。如需了解详情,请参阅 AnimatorTestRule。
Core-Role 版本 1.1.0
版本 1.1.0-rc01
2021 年 12 月 15 日
发布了 androidx.core:core-role:1.1.0-rc01
,该版本与 1.1.0-alpha01
相比没有变化。版本 1.1.0-rc01 中包含这些提交内容。
Core-Role 版本 1.1.0-alpha01
2020 年 4 月 15 日
发布了 androidx.core:core-role:1.1.0-alpha01
。版本 1.1.0-alpha01 中包含这些提交内容。
API 变更
- 添加了系统图库的角色名称。
Core-Role 版本 1.0.0
版本 1.0.0
2021 年 2 月 10 日
发布了 androidx.core:core-role:1.0.0
。版本 1.0.0 中包含这些提交内容。
1.0.0 的主要功能
- 添加了
RoleManagerCompat
,其中包含系统中可能提供的角色的名称和文档。
Core-Role 版本 1.0.0-rc01
2020 年 4 月 15 日
发布了 androidx.core:core-role:1.0.0-rc01
,该版本与 1.0.0-beta01
相比没有变化。版本 1.0.0-rc01 中包含这些提交内容。
Core-Role 版本 1.0.0-beta01
2019 年 11 月 20 日
发布了 androidx.core:core:1.0.0-beta01
,该版本与 1.0.0-alpha01
相比没有变化。版本 1.0.0-beta01 中包含这些提交内容。
Core-Role 版本 1.0.0-alpha01
2019 年 7 月 2 日
发布了 androidx.core:core-role:1.0.0-alpha01
。这是 androidx.core:core-role
的第一个版本。点击此处可查看此初始版本中包含的提交内容。
新功能
- 添加了
RoleManagerCompat
,其中包含系统中可能提供的角色的名称和文档。
版本 1.0.2
版本 1.0.2
2019 年 5 月 7 日
发布了 androidx.core:core:1.0.2
和 androidx.core:core-ktx:1.0.2
。此版本包含 2 项提交内容。
AndroidX 的初始版本破坏了用于进程间通信的支持库 compat
API 的向后兼容性,以包的形式发送键控数据。此版本修复了该兼容性问题,恢复了使用支持库 28.0(或更低版本)构建的代码与使用 AndroidX 1.1(或更高版本)构建的代码之间的通信。
bug 修复
- 可对 InputConnectionCompat 使用 1.0 之前版本的字符串值 (aosp/948725)
- 使用 AndroidX 之前版本的字符串作为软件包密钥的回退交互操作工具 (aosp/938269)
版本 1.0.1
版本 1.0.1
2018 年 11 月 7 日
core-1.0.1
和 appcompat-1.0.2
的 bug 修复版本。
bug 修复
- 修复了
PrecomputedTextCompat
在与 RTLAppCompatTextView
配合使用时会崩溃的 bug。b/113070424
Core-Ktx 版本 1.0.1
2018 年 11 月 5 日
发布了 androidx.core-ktx 1.0.1
,并包含以下 bug 修复:
- 修复了交换并集和交集的实现时发生的 bug。