Android N Stream API 是否向后移植到较低版本?
Is Android N Stream API backported to lower versions?
AndroidN 的最新版本有流包,但当我尝试使用它时,它说我应该使用的最小 SDK 版本是 24 (N),而我的最小 SDK 是 16。
我启用了 JackOptions,其中 Lambda 表达式、方法引用工作正常(即使对于低于 N minsdk 的版本),但仍然只有 Stream 包有问题。 https://developer.android.com/guide/platform/j8-jack.html 下面的 link 表示 lambda,方法引用也可用于 23 n 更低的版本,但 Stream 包没有明确说明。
所以我想知道我不能在我的项目 (minsdk 16) 中使用 Steam 包?还是我遗漏了什么。
所有 sdk 组件都已更新。
compileSdkVersion 24
buildTools版本“24.0.2”
minSdkVersion 16
targetSdkVersion 24(23 无所谓)
请建议我应该做什么。我还看到 streamsupport https://github.com/streamsupport/streamsupport 工作正常,但我不想添加新的依赖项。
Is Android N Stream API backported to lower versions?
不,它不是,至少在字面上使用 java
和 javax
包方面,例如 java.util.stream
。没有 类 被反向移植到他们原来的 Java 包,否则在较新的设备上会发生命名空间冲突。
迄今为止,Google 还没有为 java.util.stream
发布某种类似工作的 类 等,作为一个库,那些 类 碰巧使用了单独 Java 包。
不幸的是 Google 没有将 Java 8 流 API 反向移植到较低的 API 版本。这意味着目前没有 AppCompatStream
或任何类似的东西。
但是,如果您愿意在项目中使用第 3 方库,则可以在 Android minSdkVersion
< 24 上使用 Java 8 Stream API。这里有几个这样的开源项目(向 post 喊出来):
如果您对添加另一个 gradle 依赖项不感兴趣,总是可以将整个项目作为另一个模块添加到您的 Android Studio 项目中,甚至可以作为另一个包添加到您的 Android Studio 项目中您应用的模块。
AndroidN 的最新版本有流包,但当我尝试使用它时,它说我应该使用的最小 SDK 版本是 24 (N),而我的最小 SDK 是 16。
我启用了 JackOptions,其中 Lambda 表达式、方法引用工作正常(即使对于低于 N minsdk 的版本),但仍然只有 Stream 包有问题。 https://developer.android.com/guide/platform/j8-jack.html 下面的 link 表示 lambda,方法引用也可用于 23 n 更低的版本,但 Stream 包没有明确说明。
所以我想知道我不能在我的项目 (minsdk 16) 中使用 Steam 包?还是我遗漏了什么。
所有 sdk 组件都已更新。 compileSdkVersion 24 buildTools版本“24.0.2” minSdkVersion 16 targetSdkVersion 24(23 无所谓)
请建议我应该做什么。我还看到 streamsupport https://github.com/streamsupport/streamsupport 工作正常,但我不想添加新的依赖项。
Is Android N Stream API backported to lower versions?
不,它不是,至少在字面上使用 java
和 javax
包方面,例如 java.util.stream
。没有 类 被反向移植到他们原来的 Java 包,否则在较新的设备上会发生命名空间冲突。
迄今为止,Google 还没有为 java.util.stream
发布某种类似工作的 类 等,作为一个库,那些 类 碰巧使用了单独 Java 包。
不幸的是 Google 没有将 Java 8 流 API 反向移植到较低的 API 版本。这意味着目前没有 AppCompatStream
或任何类似的东西。
但是,如果您愿意在项目中使用第 3 方库,则可以在 Android minSdkVersion
< 24 上使用 Java 8 Stream API。这里有几个这样的开源项目(向
如果您对添加另一个 gradle 依赖项不感兴趣,总是可以将整个项目作为另一个模块添加到您的 Android Studio 项目中,甚至可以作为另一个包添加到您的 Android Studio 项目中您应用的模块。