android系统编译jdk版本
16lz
2021-01-24
首先普及一下,早期的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的
更多相关文章
- Android(安卓)Permission
- 解决eclipse中执行程序提示“Your project contains error(s),ple
- 安装Android的Eclipse插件ADT遇到错误“requires 'org.eclipse.g
- google编程
- android中版本webView中js不执行问题
- Android(安卓)NDK支持STL的一些注意事项
- Android应用程序开发以及背后的设计思想深度剖析 (1)
- Android中添加Admob广告
- 关于android系统Binder机制解析