Может ли Android SDK работать с JDK 1.7?

Я только что установил Android SDK R16 и JDK 7, но я продолжаю получать ошибку

Для Android требуется уровень соответствия компилятора 5.0 или 6.0. Вместо этого найдено "1.7". Используйте Android Tools > Fix Project Properties.

Я использую некоторые функции JRE 1.7, поэтому я не могу просто переключить его на 1.6. Как я могу исправить эту проблему?

Ответ 1

Вам всего лишь 1.6 присутствует на вашем ПК. У меня такая же проблема. Установите 1.6 JDK и добавьте его как известный JDK, но на самом деле не выбирайте его для своего проекта.

Ответ 2

Да, вы можете использовать Java 1.7 для разработки Android. Вы должны поддерживать совместимость источника с Java 6 во время компиляции, и только следующая проблема связана с измененным алгоритмом по умолчанию для jarsigner.

Это разрешено в вопросе Android-подписка с Ant (обходной путь).

Но это уже исправлено в Ant. Таким образом, официальная поддержка будет непосредственно в Android SDK в ближайшее время.

Если вы хотите использовать Maven для сборки, решение находится в Что для подписи Android APK существуют типы питфалей.

Обновление: последняя версия Ant, Maven Plugin или Gradle не имеет проблем с Java 7 или Java 8, поэтому это уже устарело.

Ответ 3

Начиная с ADT (22.6), можно использовать функциональные возможности Java 1.7:

ВАЖНО:

Для ресурсов try-with-resources требуется API 19 и выше:

Добавлена ​​поддержка функций языка Java 7, таких как многопользовательский режим, попробовать-с-ресурсами и алмазным оператором. Эти функции требуют версии 19 или выше от Build Tools. Попытка использования ресурсов требует minSdkVersion 19; остальные функции языка требуют minSdkVersion 8 или выше.

Ответ 4

Стоит отметить, что если вы хотите скомпилировать проект с API 21 (Android 5.0 Lollipop), вам нужно использовать JDK 1.7.

API 21 больше не будет работать с JDK 1.6.