我们可以使用 Android 切片而不迁移到 AndroidX 吗?

Can we use Android Slices without migrating to AndroidX?

具体来说,我不想迁移到 Android X。我只想使用一个名为 Android 切片的功能。 https://developer.android.com/guide/slices/getting-started

根据这篇文章,我想我们可以在不依赖 android X 的情况下使用 Slices。

Both the provider and host apps will need to:

Have compileSdkVersion 'android-P' and targetSdkVersion 'P' Have a dependency on either 'com.android.support:slices-view:28.0.0-alpha1' or 'com.android.support:slices-builders:28.0.0-alpha1', depending on their role

https://blog.novoda.com/android-p-slices-missing-documentation-part-1/

根据您提供的文章,

While not always required, Android Studio 3.2 or later contains additional tools and functionality that can help you with Slice development, including:

  • A​​ndroidX 重构工具:如果您是 在使用 AndroidX 库的项目中工作。
  • Slices lint 检查:在构建 Slices SliceProvider 时捕获常见的反实践
  • 模板:在构建 SliceProvider 时处理样板

我认为你不需要AndroidX。

是的,目前切片在旧的 com.android.support 包中可用,您可以通过将这些依赖项添加到您的 build.gradle:

来使用它们
implementation 'com.android.support:slices-core:28.0.0-rc1'
implementation 'com.android.support:slices-builders:28.0.0-rc1'

(其中 rc1 是撰写本文时的最新版本)。

docs中也提到了这一点。

但是,与大多数遗留 com.android.support 软件包一样,在未来的某个时候,遗留 com.android.support 软件包将不会有新版本,未来的开发只会发生在 androidx.*.您可以在 AndroidX overview page.

上阅读更多相关信息

这是一个很好的问题。您可以设置gradle为此使用支持库而不是 AndroidX,但文档不存在。

implementation 'com.android.support:slices-builders:28.0.0-rc02'
implementation 'com.android.support:slices-core:28.0.0-rc02'
implementation 'com.android.support:slices-view:28.0.0-rc02'

这编译得很好,但我找不到一页文档。所有示例都使用 AndroidX 包中的 ListBuilder。

简短的回答,它的记录很糟糕。花了一整天试图让它工作,我失望地放弃了。