本文档详细对比了Android旧版包和AndroidX之间的差异,通过一系列清晰的表格展示了两个版本的关键区别,帮助开发者理解迁移过程中的重要变化。
AndroidX 是 Android 开源项目的一部分,为开发者提供了一系列可以用于构建应用程序的库。它取代了旧版支持库,并提供了更好的兼容性和性能表现。
为了帮助开发者更好地过渡到使用 AndroidX 库,这里列出了一些常用的旧版本包与它们在 AndroidX 中对应的替代品:
1. **Android_ARCH_Core**
- 旧版本:`android.arch.core:common`
- 对应的 AndroidX 版本:`androidx.arch.core:core-common:2.0.0-rc01`
- 旧版本:`android.arch.core:core`
- 对应的 AndroidX 版本: `androidx.arch.core:core:2.0.0-rc01`
- 旧版本:`android.arch.core:core-testing`
- 对应的 AndroidX 版本: `androidx.arch.core:core-testing:2.0.0-rc01`
- 旧版本:`android.arch.core:runtime`
- 对应的 AndroidX 版本: `androidx.arch.core:core-runtime:2.0.0-rc01`
2. **Android_Lifecycle**
- 旧版本:`android.arch.lifecycle:common`
- 对应的 AndroidX 版本: `androidx.lifecycle:lifecycle-common:2.0.0-rc01`
- 旧版本:`android.arch.lifecycle:compiler`
- 对应的 AndroidX 版本: `androidx.lifecycle:lifecycle-compiler:2.0.0-rc01`
- 其他相关库也均提供了对应的 AndroidX 替代品,包括但不限于:
```
android.arch.lifecycle:extensions
android.arch.lifecycle:livedata
android.arch.lifecycle:viewmodel
```
3. **Android_Paging**
对于旧版本如 `android.arch.paging` 中的各个子包(例如 common, runtime),它们在 AndroidX 中也都有对应的替代品,比如:
```
androidx.paging:paging-common:2.0.0-rc01
androidx.paging:paging-runtime:2.0.0-rc01
```
4. **Android_Room**
- 对于旧版本的 Room 子包(如 common, compiler, migration),在 AndroidX 中都有对应的替代品,例如:
```
androidx.room:room-common:2.0.0-rc01
androidx.room:room-migration:2.0.0-rc01
```
5. **Android_DB**
- 旧版本:`android.arch.persistence.db`
- 对应的 AndroidX 版本: `androidx.sqlite:sqlite:2.0.0-rc01`
6. **Android_ConstraintLayout**
最后,对于支持库中的约束布局(ConstraintLayout),您应该使用以下 AndroidX 替代品:
```
androidx.constraintlayout:constraintlayout:1.1.2
```
通过以上对照表,开发者可以更方便地迁移至 AndroidX,并避免在使用旧版包时可能出现的兼容性问题。