2015-07-21 105 views
19

我刚从我以前的JDK 1.8.0_33下载了JDK 1.8.0_51,因为我遇到了问题。在Android上使用Jdk 8有一些解决方法,我只是想知道Google是否已经在Android Studio中为JDK添加了完整的支持?或者我应该只使用JDK 1.7?建议将不胜感激。Android Studio是否完全支持JDK 1.8?

+2

我在这里只有Java 8和Android Studio。到目前为止没有问题。但不要使用(开发Android应用程序时)Java 8的功能(如Lambda)。它不会工作。 – Geros

+0

谢谢,我将使用7. –

回答

9

你应该只使用JDK 1.7,你会得到少的问题。 JDK 8中还有一些功能尚未支持。

+1

一年半后的任何更新? –

+1

@JoshPinter你可以使用JDK 8,但是,除非你的android应用程序面向SDK 23和更高版本,否则不需要使用JDK 8.如果启用'Jack and Jill',可以使用Java 8 _can_,但正如我所说的那样,需要_的最小_目标值为23. – d0nut

+0

谢谢。我沿着这条路走下去,遇到了杰克和吉尔的问题,导致我的应用崩溃。不得不增加堆的大小和一堆其他的东西。这绝对不值得。 :) –

2

使用Java 1.7或Java 1.6 我自己遇到了问题,我使用了Android 4和Java 7,因此我使用了1.6以及所有问题。

我认为当你使用1.7而不是1.8

5

您可以使用java 1.8,但不使用1.8功能,因为Java 1.8中有一些功能现在不支持。

+3

,我不相信Android Studio中支持java.time。 – JDOaktown

5

使用JDK 1.8是确定的,除了Android Studio可能经常会为您提供运行时检查以建议您使用JDK 1.8的功能(如lambda)之外,没有什么会打扰您。但是你可以去Settings-> Editor-> Inspections-> Java语言级别问题/迁移辅助工具并关闭你想要的。

0

我开始Java的更新后,这个错误1.8

错误:执行失败的任务 ':应用程序:processDebugResources'。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\whatever\AppData\Local\Android\sdk\build-tools\23.0.1\aapt.exe'' finished with non-zero exit value 1

+0

如果我得到这个非零退出值1完成,我总是去建设和(清洁项目)。总是为我解决这个问题。 –

+0

感谢您的回复,但这并没有帮助我不得不回到java 1.7终于 –

14

您现在可以使用了Android

java8添加此行您的build.gradle文件

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
    } 

请参阅本文档http://developer.android.com/intl/es/preview/j8-jack.html

确保启用插孔以及与:

android { 
    //... 

    defaultConfig { 
    //... 

    // Required to use Java 8. 
    jackOptions { 
    enabled true 
    } 

} 

此外,您将需要使用Android SDK版本24或更高的构建工具是:

android { 
    //... 

    buildToolsVersion "25.0.2" 

} 
+2

不仅可以使用java8现在,但它是必需的API 24(牛轧糖)或更新 – yuval

0

其实你想与Java 8构建Android Studio项目,像

当各种疯狂的摇篮错误

2016-04-10 17:50:49,401 [1624477] WARN - nal.AbstractExternalSystemTask - Gradle 2.10需要运行Java 6或更高版本。您的版本目前配置为使用Java 5. com.intellij.openapi.externalSystem.model.ExternalSystemException:Gradle 2.10需要运行Java 6或更高版本。您的版本目前配置为使用Java 5.

只要将默认JDK切换到Java 7,它就可以正常工作。看起来像使用Java SE 8运行Android Studio本身是可以容忍的,但通过Gradle构建Android应用程序只适用于Java 7.

1

如果您以前使用过从Android Studio 3.0弃用的JACK选项。

jackOptions { enabled true }

从应用程序的的build.gradle文件和keepping配置如下:0,迁移和使用支持的Java 8语言特性将删除简单到

android { 
    ... 
    compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
    } 
} 

详情请点击this链接。