Уровень языка Java 8 (Retrolambda) на AndroidStudio 4+?
Итак, кто-то обратил Lambdas для Java 8 обратно на Java 6 и 7. Очевидно, он также работает для Android. Проект называется Retrolambda. Я хотел поиграть с этим на AndroidStudio, но, похоже, в последней версии они удалили возможность устанавливать Java 8 в качестве уровня языка (поэтому я не получаю ошибки компиляции при использовании Lambdas). Кто-нибудь знает об этом? Я полагаю, что это связано с тем, что AndroidStudio - это модифицированный IntelliJ. Любая помощь будет оценена.
Ответы
Ответ 1
Он удаляется в новом проекте, но он доступен в свойствах после создания проекта. Обратите внимание, что я еще не скомпилирован с любыми новыми функциями Java 8, поэтому давайте надеемся, что это работает.
Щелкните правой кнопкой мыши на своем проекте, перейдите в раздел "Настройки модуля Open". Я думаю, что там где-то есть ошибка, так как как только я уйду от этой языковой настройки, я никогда не смогу вернуться к ней.
Чтобы обойти это, вы можете редактировать MyProject/.idea/misc.xml и искать атрибут languageLevel.
Чтобы включить настройки Project после перемещения, отредактируйте MyProject/.idea/workspace.xml и выполните поиск project.structure.last.edited. Установите значение в "Проект".
Ответ 2
Я обнаружил, что вы можете установить "уровень языка" на Java 8 в Android Studio, изменив build.gradle, чтобы включить следующее:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}