我现在已经安装了Java 7 JDK。已经有一段时间了。然而,最近,我的教授正在指示这个类卸载Java 7并安装Java 8,以便能够完成作业等等。
我一直在使用Java 7编写和部署Android应用程序,没有任何问题,所以我想知道现在升级JDK 8是否安全?我假设在我的Android开发中不需要任何特定于Java 8的方法或函数。因此,如果我远离这一点,我的Android开发会受到影响吗?
另外,我还没有找到任何官方文档,说明Java 8是否安全或如何使其安全。不管怎样,我很快就要升级到Java 8了.
发布于 2016-09-19 15:11:09
在Google /O 2016中,他们宣布Android现在支持Java 8的一些功能,但不是所有的特性。
特征如
此外,还提供了以下Java 8语言API:
java.lang.FunctionalInterfacejava.lang.annotation.Repeatablejava.lang.reflect.Method.isDefault()AnnotatedElement.getAnnotationsByType(Class) )关联的反射API。
java.util.functionjava.util.stream
您应该做的就是使用新的jack编译器,要做到这一点,只需将其添加到gradle文件build.gradle (Module: app)中即可。
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}参考资料:
发布于 2016-01-14 02:38:23
如果您不使用java 8特性,这是安全的。
尽管您可能热衷于使用retroLambda和collectionsQuery的java 8。https://github.com/evant/gradle-retrolambda和bogdan/collectionsquery/src
这将允许您编写代码如下所示:
mButton.setOnClickListener( v-> doClickEvent());
mView.postDelayed( () -> someMethodToRun() , 1000);
Queryable.from(listOfObject).forEachR(r -> doProcess(r));相对于笨重
mButton.setOnClickListener( new View.OnClickListener(){
@Override
public void onClick(View v) {
doClickEvent();
}
});要将java 8与retrolambda结合使用,只需添加gradle文件即可。
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
android {
// :
// Snips the rest of configuration.
// :
compileOptions {
encoding "UTF-8"
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.innahema:collections-query:0.2.9'
}在项目gradle.build文件中添加以下内容..。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'me.tatarka:gradle-retrolambda:3.2.3'
classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' //fix lint issue
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}发布于 2016-01-14 02:19:43
我想你应该试试。另外,您可以轻松地同时运行JDK 7和JDK 8。我不知道Android,但是在Eclipse中您可以配置构建路径。
尽管如此:您是否在家庭作业中使用Java 8的特定特性?如果您不使用lambdas或JavaFX 8,我认为您将不需要JDK 8。听起来更像是您的教授只想使用最新版本的Java (从您的第一句话判断)。
https://stackoverflow.com/questions/34780565
复制相似问题