2014-07-17 13 views
14

Ho creato un nuovo progetto in Android Studio e aggiunto un'attività di Google Maps.Android Studio: quali impostazioni del compilatore includendo Google Maps

ottengo questi avvertimenti:

warning: com/google/android/gms/maps/GoogleMap.class(com/google/android/gms/maps:GoogleMap.class): major version 51 is newer than 50, the highest major version supported by this compiler. 
It is recommended that the compiler be upgraded. 
warning: com/google/android/gms/maps/SupportMapFragment.class(com/google/android/gms/maps:SupportMapFragment.class): major version 51 is newer than 50, the highest major version supported by this compiler. 
It is recommended that the compiler be upgraded. 
warning: com/google/android/gms/maps/model/LatLng.class(com/google/android/gms/maps/model:LatLng.class): major version 51 is newer than 50, the highest major version supported by this compiler. 
It is recommended that the compiler be upgraded. 
warning: com/google/android/gms/maps/model/MarkerOptions.class(com/google/android/gms/maps/model:MarkerOptions.class): major version 51 is newer than 50, the highest major version supported by this compiler. 
It is recommended that the compiler be upgraded. 
warning: com/google/android/gms/maps/model/Marker.class(com/google/android/gms/maps/model:Marker.class): major version 51 is newer than 50, the highest major version supported by this compiler. 
It is recommended that the compiler be upgraded. 

La mia ipotesi è che ho un JDK miss-partita o qualcosa del genere. Ho installato JDK 7, e quando faccio javac -version vedo 1.7.0_65. Ho modificato le preferenze di Android Studio nella versione bytecode del progetto ma non ho modificato questi avvisi.

mio build.gradle ha questo

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    // You must install or update the Google Repository through the SDK manager to use this dependency. 
    compile 'com.google.android.gms:play-services:5.0.77' 
    compile 'com.android.support:support-v13:18.0.+' 
} 

Che cosa devo fare per risolvere questi avvertimenti, o non li ignoro in Android Studio?

risposta

12

"Versione principale" indica la versione di Java. Java 7 = 51, Java 6 = 50. Il codice è scritto per Java 7, e questo è qualcosa che supporta il dex di Android. Non sono sicuro che quello che stai creando non sia impostato per Java 7, ma questo è il problema. La build Maven nel progetto funziona correttamente. Non vedo l'errore che hai citato, e potrebbe anche essere collegato a Java 6 vs 7.

+2

ho aggiunto compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } e che ha reso l'errore di andare via. È il modo migliore per farlo? –

+0

Jason, penso che la tua soluzione sia giusta. Dalla documentazione di Android: "Il valore predefinito è" 1.6 ". Questo riguarda tutte le attività che compongono il codice sorgente Java.". Quindi deve essere cambiato in 1.7 o 1.8. –

+0

Dopo la sincronizzazione gradle, questo file verrà modificato: .idea/misc.xml, dove puoi trovare:

6

Sono stato in grado di risolvere questo sulla base del suggerimento di Jason Hocker e this answer. Aggiungi questo al vostro android compito Gradle:

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
} 

Si noti che è necessario disporre di un Java 7 JDK installato. Ho anche dovuto aggiungere questo al mio gradlew per consentire Gradle di trovare la corretta JDK:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.7) 
Problemi correlati