Поддерживает ли Android JDK 6 или 7

Я новичок в разработке Android. Могу ли я использовать существующий Java-код, разработанный с использованием JDK 7 в Android?

Функции используют xerces dom и xslt и xpathapi. В настоящее время, когда я установил среду Android Eclipse ADT, эти функции не компилируются. Я также хотел бы знать, поддерживает ли устройство Android JRE 6 или 7?

Ответ 1

Первоначально инструменты разработки Android поддерживали только функции jdk 6. Но это было изменено, сначала Android Studio 0.3.2 в октябре 2013 года: http://tools.android.com/recent/androidstudio032released

Поддержка языковых функций, таких как оператор бриллианта, многопользовательский режим, try-with-resources, строки в переключателях и т.д. При создании нового проекта вы можете указать уровень исходного языка: enter image description hereОбратите внимание, что вы можете использовать все эти языковые функции не только с Android KitKat, но и со старыми версиями Android! Есть одно исключение: try-with-resources, для чего потребуется minSdkVersion 19. Следовательно, Studio будет указывать любое использование в вашем коде try-with-resources, если ваша minSdkVersion меньше 19:

а затем плагин ADT 22.6 в марте 2014 года: http://developer.android.com/tools/sdk/eclipse-adt.html

Добавлена ​​поддержка языковых функций Java 7, таких как многопользовательские, try-with-resources и алмазный оператор. Для этих функций требуется версия 19 или более новая версия Build Tools. Попытка ресурсов требует minSdkVersion 19; остальные функции нового языка требуют minSdkVersion 8 или выше. Чтобы использовать новые языковые функции после установки ADT 22.6.0, убедитесь, что вы запускаете Eclipse на JDK 7 и изменяете настройки проекта приложения, чтобы использовать JDK 7.

Android не должен быть на 100% совместим с любой версией Java SE API, а не с 6, ни 8, ни с какой-либо другой. это стало причиной судебного дела Oracle, направленного против Google, обвиняя Google в фрагментации Java. Некоторые API-интерфейсы невозможно реализовать на android как Swing; Представьте себе окно с закрытой кнопкой на андроиде! Другие были отложены, но реализованы: например, класс Charset находится в Java SE 1.4, но реализован в API android API 9, AutoClosable в Java 7, реализованном в API 19 API, для реализации возможности языковой функции try-with-resources. Некоторые API-интерфейсы существуют, но для разных целей в качестве консоли.

Ответ 2

Во-первых, существует разница между Java JDK и JRE. JRE - это среда выполнения Java, а JDK - набор для разработки Java. Это JDK, который вам нужен для разработки приложений Android вместе с существующим Android SDK.

Android SDK может использовать либо JDK 6, либо 7, однако он может ТОЛЬКО использовать API JDK 6.

Ответ 3

Да, jdk 7 теперь поддерживает android Начиная с инструментов сборки 19