安卓系统是否兼容JRE 7?

6

Android支持JRE 7吗?我找不到任何相关的文档。


1
@ProgrammerX 那个问题有些不相关。Android SDK 使用 JRE 运行其工具,但 Android 本身并不使用 JRE。 - poke
3个回答

7

Android并未使用JRE……它使用自己为移动应用优化的运行时环境——Dalvik虚拟机。但是,它有大多数JRE的特性。


6
获得踩?真的吗?谷歌因声称Android不是Java而被起了一桩价值数十亿美元的诉讼,而这个评论却被踩了? - Will Hartung
我不是那个点踩的人,但是我想说一下...它还是使用JRE对吧?所以它需要与JRE兼容...对吗?或者我理解错了吗? - Cody
1
@DoctorOreo 不,那是不正确的。Android使用Java语言及其语法,但不会编译为Java运行时环境。所有基本库等都只是相同的,因为这样迁移更简单。如果他们想要,Android的库完全可以不同。 - poke
1
间接而言,它有点使用。要为Dalvik虚拟机编译,您需要先为JVM编译,然后对您的类进行dex处理。因此,答案是它既使用又不使用JVM。:P - Savvas Dalkitsis

1

Android使用Dalvik虚拟机。


1
Android运行时是Dalvik,但我认为问题在于是否可以使用使用Java 7编译的Java库(.jar)(例如,在源代码中使用新的资源尝试语句,它是否适用于Android应用程序?)。
在这种情况下,我已经看到你可以使用Gradles: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Using-sourceCompatibility-1.7 ... 其中说: 使用Android KitKat (buildToolsVersion 19),您可以使用钻石操作符、多次捕获、开关字符串、尝试使用资源等。要做到这一点,请将以下内容添加到您的构建文件:
android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

检查Android API,我发现它并不完全符合要求。Android API中不存在ForkJoinPool,但是Autoclosable存在(在try with resources中使用),但需要API 19以上版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接