簡體   English   中英

如何在Android Studio和Gradle中設置-source 1.7

[英]How to set -source 1.7 in Android Studio and Gradle

嘗試在Android Studio中編譯項目時出現以下錯誤:

Gradle: error: diamond operator is not supported in -source 1.6

我在找到的所有項目首選項中都將1.7設置為目標。 此外,項目SDK的1.7 SDK下顯示的路徑也是java 1.7安裝的正確路徑。

即使我在終端中運行java -version,它也告訴我我正在Java 1.7上運行。

我試圖將JAVA_HOME env變量設置為此:

/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home

錯誤不會消失。 如何消除錯誤?

構建工具19中添加了Java 7支持。您現在可以使用諸如菱形運算符,多捕獲,嘗試資源,開關中的字符串等功能。將以下內容添加到build.gradle

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }

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

需要Gradle 1.7 +,Android gradle插件0.6。+。

請注意,僅嘗試使用資源需要minSdkVersion 。其他功能在以前的平台上也有效。

鏈接到Android Gradle插件用戶指南

鏈接查看源與目標有何不同

上面的這些答案可能很舊,但是對於新的Android Studios 1,您可以執行以下操作以查看該模塊可在1.7(或1.6)上運行。 單擊文件->項目結構。 選擇要運行的模塊,然后在“源兼容性”和“目標兼容性”下選擇1.7。 點擊“確定”。

Android Studios 1的項目結構屏幕

您可以在新的Android Studio版本(0.8.X)中進行更改

文件->其他設置->默認設置->編譯器(單擊左箭頭展開)-> Java編譯器->您可以在此處更改項目字節碼版本

在此處輸入圖片說明

最新的Android Studio 1.4。

單擊文件->項目結構-> SDK位置-> JDK位置。

您還可以通過轉到模塊(在SDK位置下方)來設置各個模塊的JDK版本兼容性,並相應地編輯源兼容性。 (請注意,這僅適用於Android模塊)。

右鍵單擊您的項目>打開模塊設置>在“項目設置”部分中選擇“項目”

將Project SDK更改為最新版本(可能是API 21),並將Project語言級別更改為7+

當前,Android不支持Java 7,僅支持Java6。因此,當前不支持Java 7中的新功能,例如菱形語法。 尋找支持這一點的來源並不容易,但是我發現Dalvic引擎是基於Apache Harmony的子集構建的,該子集僅支持Java直到版本6。如果檢查開發Android應用程序的系統要求 ,它還會指出至少需要JDK 6(盡管這並不是真正的證明,僅是一個指示)。 和我說的差不多。 如果我發現更多實質性內容,則將其添加。

編輯:自從我最初編寫此答案以來,似乎已經添加了Java 7支持; 檢查Sergii Pechenizkyi的答案。

始終使用最新的SDK版本進行構建:

compileSdkVersion 23

它不會影響運行時行為 ,但會為您提供最新的編程功能。

進入Gradle並查找sourceCompatibility並將其從1.6更改為7 至少對我有用。

您也可以進入模塊設置並將“ 源/目標兼容性”設置為1.7。

模塊設置窗口

這將在您的Gradle中產生以下代碼:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM