Java как язык: есть ли отличия между разработкой для Android и Java SE/EE (февраль 2015)?
Вдохновившись предыдущими ответами и заметив некоторые несостыковки мнений у их авторов, отправился на собственные поиски. И вот что мне удалось найти.Is it possible to use Java 8 for Android development? - вопрос на StackOverflow, датированный апрелем 2014 года. Общая идея ответов следующая:Java от Oracle и язык разработки для Android - де-юре никак не связанные друг с другом вещи. Причина - опять же юридическая, связанная с вопросами лицензирования Java для стороннего использования.
Как следствие, язык и фреймворк для разработки под Android базируются на проекте Apache Harmony, опенсорсной реализации Java SE, причём на той его ветке, которая реализовывала Java 6.Фичи канонической Java от Oracle появляются в языке разработки для Android спорадически и исключительно по желанию Google, то есть никак не связаны с версионностью Java от Oracle. Де-факто, при работе с Android KitKat и выше можно использовать большинство (хотя, я так понял, не все - к примеру, try-with-resources в пролёте) фишек Java 7.Существующие способы использования новых фишек канонической Java при разработке под Android базируются на различных хитростях процедуры сборки. Например, для поддержки лямбд предлагается использовать нечто под названием gradle-retrolambda, что конвертирует байткод, получающийся при компиляции Java 8 кода, в байткод Java 6/7, после чего этот байткод конвертируется в формат JVM, используемой в Android. Судя по всему, иных фич Java 8, отличных от лямбд, данный метод не поддерживает.
Иной подход для использования новых возможностей Java при разработке под Android - это альтернативные языки, в частности, Kotlin (gadfi, спасибо за наводку ;)) - продукт компании JetBrains, на базе чьей IDEA нынче строится официальный инструментарий для разработки под Android.
Также интересные соображения на этот счёт можно почерпнуть в другом вопросе на StackOverflow - “Why Apache Harmony” or “How to use Java 8 on Android”
Верно последнее высказывание. 
Все одинаково. Не важна версия языка. Разница между версиями android заключается в API. Для поддержки очень старыми версиями android современных возможностей используется Support Library. 
Допустим, велась разработка на Java 6. Потом пришло обновление до Java 8. Вы переписываете код на Java 8 (оптимизируя только функции и работу Java, а не Android) и все отлично работает.
То есть как язык является именно "каноническим" от Oracle. Но Android, кажется, работает только с Java 6. (поправьте в комментариях, если не так).
В структуре он имеет сходство с Java EE (можете это сразу заметить), но это структура Android-проекта.