亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

寫Android時用的JDK和編譯Android應用時用的JDK版本的一些疑問?

寫Android時用的JDK和編譯Android應用時用的JDK版本的一些疑問?

陪伴而非守候 2018-07-01 10:14:04
一直不明白的一個問題:我現在用的是JAVA 8的JDK,但是我在寫Android代碼的時候卻無法使用JAVA 8的新特性(例如lambda表達式)。這是為什么?我聽說Android內只支持到java 6,也就是說編譯應用的時候不會使用我指定的JDK版本,而是編譯成JDK 6的代碼。是這樣的么?如果是的話,那Android Studio里面肯定帶有JAVA程序,那為什么還要指定JDK路徑?還有寫的程序調用的JAVA API,在每個手機上都是同一個版本的么,會不會我使用了java7的方法,但是運行的機器上的jre的環境是java6,然后會找不到方法異常?總體來說,就是在編寫Android應用的時候,對JDK版本問題有一些亂,求解答。
查看完整描述

1 回答

?
反對 回復 2018-07-09
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

首先普及一下,早期的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來提升。


查看完整回答
反對 回復 2018-07-09
  • 1 回答
  • 0 關注
  • 425 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號