我现在可以"使用"Java 8与Android开发吗?

way*_*way 14 java android java-8

我目前安装了Java 7 JDK.这已经有一段时间了.但是,最近,我的教授指示该类卸载Java JDK 7并安装Java JDK 8,以便能够处理家庭作业等.

我一直在使用Java JDK 7编写和部署Android应用程序而没有任何问题所以我想知道现在升级JDK 8是否安全?我假设我的Android开发中不需要任何Java 8特定的方法或功能.因此,如果我远离那个,我的Android开发是否会受到影响?

另外,我还没有找到任何官方文档来说明Java JDK 8是否安全或如何使其安全.无论哪种方式,我将很快升级到Java 8 ...

Zey*_*sem 15

在Google I/O 2016中,他们宣布Android现在支持Java 8的一些功能,但不支持所有功能.

功能如

  • 默认和静态接口方法
  • Lambda表达式(也可在API级别23及更低版本上使用)
  • 可重复的注释
  • 方法参考(也可在API级别23及更低版本上获得)
  • 类型注释(也可在API级别23及更低版本上使用)

此外,还提供以下Java 8语言API:

  • 反思和与语言相关的API
    • java.lang.FunctionalInterface
    • java.lang.annotation.Repeatable
    • java.lang.reflect.Method.isDefault()
    • 和可重复注释相关的Reflection API,例如 AnnotatedElement.getAnnotationsByType(Class)
  • 实用程序API
    • java.util.function
    • java.util.stream

您应该做的就是使用新的插孔编译器,为此,您只需将其添加到您的gradle文件中build.gradle (Module: app):

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}
Run Code Online (Sandbox Code Playgroud)

参考文献:


Chi*_*ils 4

如果您一直在使用 Java 7 来部署 Android 应用程序,那么可以肯定的是,到目前为止您还没有使用过任何 Java 8 功能,所以我不认为这有什么关系。

遵循讲师的指示,当您为学校做作业时,只需在项目结构中选择 JDK 或语言级别即可。

CTRL+ ALT+ S, 选择Project

您可以默认使用 Java 8 SDK,但将其限制为 Android 应用程序的 Java 7 功能。或者您可以简单地将作业项目设置为 Java 8 SDK。

假设 Android Studio 包含 Intellij 的核心设置,这里就有点冒险了。