2017-07-26 45 views
1

我是一個Android應用程序開發人員,最近我是用Java 7的版本的工作,現在我想開始與Java 8開發應用程序,但我注意到,他們僅適用於Android 7.0的工作。我希望我讀錯了,因爲我不明白他們爲什麼不支持它具有巨大潛力的Java 8 ...而且在九月份來的時候Java 9可以爲Android 7.0和更高版本執行相同的apk與Java 8和更低版本與Java 7?的Java 8和Android有可能

+3

有些庫可以實現這一點。有關相關問題,請參閱示例[1](https://stackoverflow.com/questions/39515035/is-it-possible-to-use-the-java-8-stream-api-on-android-api-24) , [2](https://stackoverflow.com/questions/37854239/stream-method-does-not-work-in-android/),[3](https://stackoverflow.com/questions/42648768/如何使用的Java的-8-流-API-下機器人-6-0),[4](https://stackoverflow.com/questions/38221673/completablefuture-in-the-android-support-library /) – Sartorius

回答

0

我以retrolamda

與Java 8開發的很長一段時間,有一個與它沒有錯誤,至少現在。^^

2

我注意到,他們只爲Android工作7.0

正確的。 lambda表達式是個例外,開發工具將其轉換爲可以在舊設備上工作的東西。

我希望我讀錯了,我不明白爲什麼他們不支持Java 8

的Java 8發佈於2014年的Android 1.0在2008年穀歌發佈沒有時間機器我們知道,所以他們不能讓Java 8在六年前發佈。出於兼容性原因,Google不會替換舊版設備上的類庫,而舊版設備通常無法更新。

至於爲什麼花了直到2016年的Java 8的部分是在Android平臺所提供,所有的人都可以在這裏做的是提供意見(工程時間,與甲骨文的法律問題等)。

你可以使用Java 8和較低版本的Java 7爲Android 7.0和更高版本執行相同的apk嗎?

不可以。原則上,您可以擁有單獨的APK,一個使用Java 8,另一個不使用,您可以針對不同的CPU架構和內容分別安裝APK。我不知道任何應用分發渠道是否會支持minSdkVersion單獨的APK。