【问题标题】:Does Android Studio 3 support Java 9 for Android development? If so, what features of Java 9 are supported?Android Studio 3 是否支持 Java 9 进行 Android 开发?如果支持,支持 Java 9 的哪些特性?
【发布时间】:2017-12-04 06:13:53
【问题描述】:

我将安装 Android Studio 3 以开发 Android 应用程序。

我想知道是否可以使用 Java 9 进行 Android 开发?如果支持,它是否支持所有 Java 9 功能?

【问题讨论】:

  • @ChintanSoni Kotlin 与 Java 9 无关
  • @ZhekaKozlov 所以我想知道为什么这个问题被否决并投票结束。
  • @AhmadPayan 我认为这主要是因为 Android 不支持 Java 9。所以这个问题有点毫无意义。
  • @ZhekaKozlov 我明白了。感谢您的提示。
  • @ZhekaKozlov 我不明白这个逻辑:“问题的答案是>,所以这个问题毫无意义”

标签: java android android-studio-3.0 java-9


【解决方案1】:

据我所知,IDE 本身支持 Java 9。这意味着您可以编写 Java 9 桌面程序,或者使用 JDK 9 运行 IDE。

但是,Android 本身不支持 Java 9(目前)。你仍然可以下载 JDK 9,尽管我已经看到一些关于 Android Studio 和 Java 9 相关问题的问题。就我个人而言,我有 Java 9 并且 Android Studio 运行没有问题。

Android SDK 是您将要处理的开发工具包,通过源代码兼容性,您将获得类似于 Java 6、7 或 8 的语言功能,具体取决于您的设置。因此,您可以下载 JDK 9 并很可能毫无问题地使用它,但您不能在任何 Android 应用程序中使用任何语言功能。

至于JDK和Android SDK的区别,请read this。 Android 当前支持 Java 8 功能的子集,但并非全部。它可能永远不会支持所有内容,或者遗漏 Java 8 的某些部分,即使它后来支持 Java 9 或更高版本的某些部分。

【讨论】:

  • 如何在 android 中使用 java 9(Instant.now()) 获得时间戳的微秒精度?请检查此线程 - stackoverflow.com/q/61140653/1584121
【解决方案2】:

更新:从https://jakewharton.com/androids-java-8-support/ 开始,现在看来这应该几乎可以工作了(以及for Java 9, 10, 11, and 12)。或just use Kotlin

要帮助完成最后的步骤,您可以star the issue


截至目前,Android SDK does not even support java 8 completely

Android Studio 3.0 及更高版本支持所有 Java 7 语言功能和 Java 8 语言功能的子集,这些功能因平台版本而异。本页介绍了您可以使用的 Java 8 语言功能、如何正确配置您的项目以使用它们,以及您可能遇到的任何已知问题。 [强调我的]

这可能需要在接近 Java 9 之前得到完全支持。

【讨论】:

  • 虽然,Android 不是 Java。它可能永远不会具有与完整 Java 版本 (Java SE) 完全相同的功能。它可以集成 Java 9 的一个子集,但不具备全部 8 个功能
  • @Zoe:是的。尽管如此,他们似乎已经走了很长一段路。查看链接。
  • @VahidAmiri:你尝试过 Java 10 吗?
  • @serv-inc 是的。它不起作用。吐出编译错误。
  • @VahidAmiri:感谢您的反馈。我一厢情愿地读了这篇文章。
【解决方案3】:

刚刚尝试使用已经使用 Java 10 的 Ubuntu 18.04 来实现。您会遇到大量问题,从无效的 java 证书到额外的 gradle 调用警告等。这是一团糟,希望很快解决,您可以通过 google 找到每个问题的解决方案,但安装 Java 8 更容易。

我不知道在 Android 应用程序代码中使用该语言本身,因为我是一个完整的 NDK C++ 程序员并且只使用包含许多 java 程序的工具链。

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多