首先普及一下,早期的Android版本是Java 6,Android 4.4版本之后可以使用Java 7。另外,早期版本也可以通过Java 7进行编译,只要你不使用try resource这个新特性即可。

那么再回答你的问题,为什么Android不能通过Java 8编译。这里并不是说Android不能通过Java 8编译,而是因为运行在每个人手机上的Android系统跑的还是基于Java 6或者Java 7的Dalvik,即使你通过Java 8编译了含有新特性的Android程序,那也没法运行在这些机器上。另外,Android并非纯Java编译,在编译后还需要将class文件转换成dex文件,这就与Android SDK紧密相连了,所以Android SDK不支持Java 8,也就没法通过修改JDK来提升。


comment: 根据你的答案再问几个问题:是不是不同版本Android SDK支持的java版本也不同呢?既然Android sdk编译成java6的版本,那么sdk里面应该带有javac 1.6版本啊,为什么没找到啊?
reply: 高版本的Java对低版本是兼容的,高版本的Java也能够编译低版本的程序,不一定是Java6的JDK才能编译Java6,Java7的JDK也能够编译Java6的

更多相关文章

  1. Android(安卓)Permission
  2. 解决eclipse中执行程序提示“Your project contains error(s),ple
  3. 安装Android的Eclipse插件ADT遇到错误“requires 'org.eclipse.g
  4. google编程
  5. android中版本webView中js不执行问题
  6. Android(安卓)NDK支持STL的一些注意事项
  7. Android应用程序开发以及背后的设计思想深度剖析 (1)
  8. Android中添加Admob广告
  9. 关于android系统Binder机制解析

随机推荐

  1. android实现双击back键退出
  2. Android之提示Unable to instantiate fra
  3. android paint设置字体 中文字体 楷体 和
  4. android Notification 通知封装
  5. Unity android 读取文件,读取APK包文件
  6. Android第4坑:Android项目中使用lambda表
  7. Android Studio更新到3.1以后老项目跑不
  8. android handle looper 使用误区
  9. 【Android】JSON应用
  10. android客户定制SDK常见修改