java - 我可以在以前版本的 Android 操作系统上使用 Android N 平台开发的应用程序吗

标签 java android android-7.0-nougat

看来google在android N平台上引入了很多有趣的功能,例如Java 8的部分支持。我想将它用于我的第一个 Android 应用程序。不过我有一个问题 - 如果我的应用程序将使用 Android N 工具使用 Java 8 功能来实现,但设置为最小 sdk = 4.1,我的应用程序是否可以在 Android 4、5、6 上运行?

最佳答案

是的,如果您使用支持库,您的应用将在以前版本的 Android 上运行。它们随新版本的 Android 进行更新,以提供对新功能的向后兼容性。这是一种常见的做法。

https://developer.android.com/topic/libraries/support-library/index.html

对于 Java 8,听起来您需要对使用的内容进行选择性。

来自文档:https://developer.android.com/preview/j8-jack.html

支持的 Java 8 语言功能和 API Android 目前并不支持所有 Java 8 语言功能。不过,在开发面向 Android N 预览版的应用时,现在可以使用以下功能:

默认和静态接口(interface)方法

Lambda 表达式(也可用于 API 级别 23 及更低级别)

可重复注释

方法引用(也适用于 API 级别 23 及更低级别)

注意:要在早期版本的 Android 上测试 lambda 表达式和方法引用,请转到 build.gradle 文件,并将compileSdkVersion 和 targetSdkVersion 设置为 23 或更低。您仍然需要启用 Jack 工具链才能使用这些 Java 8 功能。

关于java - 我可以在以前版本的 Android 操作系统上使用 Android N 平台开发的应用程序吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37681645/

相关文章:

android - java.lang.NullPointerException : at android. widget.Editor.updateFloatingToolbarVisibility

java - 为什么我的 if 语句不能与 (red || green || blue) > 255 一起使用

java - 具有多个参数的ArrayList(用户输入)

android - 单击电源按钮现在在 Android KitKat 上的 Activity 中调用 onStop,以前只是 onPause?

android - DialogFragment 按钮推出屏幕 API 24 及更高版本

android.os.FileUriExposedException : file:///storage/emulated/0/test. txt 通过 Intent.getData() 暴露在应用程序之外

java - Windows 中缺少 Java 进程的命令行输出

java - 如何判断一个点是否在多边形上?

android - 如何在 Android 的 ListView 中显示 YouTubePlayerView?

java - 使用共享首选项检查新的一天