Android Studio: какие настройки компилятора при включении Google Maps

Я создал новый проект в Android Studio и добавил активность в Google Maps.

Я получаю эти предупреждения:

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.

Я предполагаю, что у меня есть пропущенный JDK-матч или что-то в этом роде. Я установил JDK 7, и когда я делаю javac -version, я вижу 1.7.0_65. Я изменил в Android Studio настройки версии байт проекта, но это не изменило эти предупреждения.

My build.gradle имеет это

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.+'
}

Что мне нужно сделать, чтобы исправить эти предупреждения, или я должен игнорировать их в Android Studio?

Ответ 1

"Основная версия" означает версию Java. Java 7 = 51, Java 6 = 50. Код написан для Java 7, и это то, что поддерживает Android dex. Я не уверен, что вы строите с тем, что не установлено для Java 7, но это проблема. Проект Maven в проекте работает правильно. Я не вижу упоминаемую вами ошибку, и это может быть связано и с Java 6 vs 7.

Ответ 2

Я смог разрешить это на основе подсказки Джейсона Хокера и этот ответ. Добавьте это в свою задачу android gradle:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

Обратите внимание, что вы должны установить Java 7 JDK. Мне также пришлось добавить это в мой gradlew, чтобы позволить gradle найти правильный JDK:

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