Для Android потрібен рівень відповідності компілятора 5,0 або 6,0. Знайдено "1,7" замість цього. Скористайтеся інструментами Android> Виправити властивості проекту


286

Хто-небудь мав подібні проблеми з цим, я імпортую проект Android, і я отримую помилки

[2011-10-03 17:20:09 - Screen] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
[2011-10-03 17:21:55 - App] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
[2011-10-03 17:21:59 - App] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.

У мене виникли помилки для видалення всіх функцій @Override, описаних вище. У мене Windows 7 x64, jvm7 x64. Хтось має підказку, що не так? (Я зробив інструменти Android -> Виправити властивості проекту, але не допоміг)


Ви перевірили налаштування відповідності компілятора Eclipse для проекту? Приклад
dmon

3
Схоже, Android SDK не розпізнає 1.7 як Java7 (тоді сумісний з тим, що йому потрібно). Спробуйте встановити сумісність проекту з Java6 :)
helios

Відповіді:


448

Це не проблема, Джек. Android SDK не x64, але працює добре з x64 jvm (і ID ID x64 eclipse).

Як сказано в helios, ви повинні встановити сумісність проектів на Java 5.0 або Java 6.0.

Для цього два варіанти:

  1. Клацніть правою кнопкою миші проект і виберіть "Android Tools -> Fix Project Properties" (якщо це не працює, спробуйте другий варіант)
  2. Клацніть правою кнопкою миші на вашому проекті та оберіть прапорець "Properties -> Java Compiler", встановіть прапорець "Увімкнути конкретні параметри проекту" та виберіть 1.5 або 1.6 у вікні "Налаштування відповідності компілятора" .

26
Не допомогли мені :-(
lzap

1
У моєму випадку (я намагаюся зібрати зразок OpenFeint Android), вимкнено функцію "Увімкнути налаштування конкретних проектів".
user642252

1
коли я використовую 1-й варіант, проект R.java видалено автоматично
Naresh Sharma

Не використовуйте 1-й варіант, оскільки він встановить компілятор у 1,5, що в більшості випадків недостатньо добре. Найкращим підходом є зміна рівня відповідності компілятора для всієї робочої області, перейшовши до Інструменти -> Налаштування -> Java-компілятор і виберіть 1.6 зі спадного меню.
nikib3ro

3
Але що робити, якщо ви хочете компілятор 1.7 і все-таки отримаєте цю помилку? як ви можете це виправити?
Шервін Асгарі

20
  1. Перейдіть до папки проекту та клацніть правою кнопкою миші на ній - > properties ->виберіть поле лише для читання та натисніть кнопку ОК

  2. Клацніть правою кнопкою миші проект і виберіть "Android Tools -> Fix Project Properties"

  3. Клацніть правою кнопкою миші на вашому проекті та виберіть "Properties -> Java Compiler", встановіть прапорець "Enable project specific settings"та встановіть позначку 1,5 або 1,6 у вікні "Налаштування відповідності компілятора". (спробуйте всі рівні один за одним про всяк випадок)

  4. У розділі Window -> Preferences -> Java -> CompilerВстановіть рівень відповідності компілятора на 1,6 або 1,5.

Сподіваємось, це вирішить проблему.


Можливо, відповіли, але у файловій системі Windows (розташування папки вашого проекту) клацніть правою кнопкою миші та встановіть прапорець "Лише для читання". Це вирішило мою проблему!
CodeMonkey

13

Я рекомендую використовувати x86 версію jvm. Коли я вперше отримав свій новий ноутбук (x64), я хотів пройти x64 увесь шлях (jvm, jdk, jre, затемнення тощо). Але як тільки я все закінчив, я зрозумів, що Android SDK не x64, тому у мене виникли проблеми. Поверніться до x86 jvm, і вам повинно бути гаразд.

РЕДАКТ: 14.11.13

Я бачив деяку недавню діяльність і подумав, що буду детальніше розробити.

Я не сказав, що це не буде працювати з x64, я просто рекомендував використовувати x86.

Ось хороший пост про переваги / недоліки x64 JDK. Переваги 64-бітної платформи Java

Мисленнєвий процес: з якою метою? Чому я намагаюся використовувати 64-бітний JDK? Просто тому, що у мене 64-бітна ОС? Чи потрібні мені якісь функції 64-розрядного JDK? Чи є якісь додаткові функції в 64-розрядному JDK ?! Чому цей s *** не гратиме добре разом !? F *** це я переходжу 32-бітний.


8

Робити Project-> Clean...виправити це для мене.

Моє затемнення перестало працювати, тому я очистив workspaceкаталог і після запуску затемнення при імпорті проекту у мене виникла ця проблема. Інші запропоновані тут рішення не спрацювали.


6

Для більшості людей, які все ще отримують помилку після виправлення властивостей проекту, ви, ймовірно, встановили Java 7 SDK під час налаштування свого середовища, але наразі це не підтримується для розробки Android.

Як повідомляється про помилку, ви повинні встановити Java 5.0 або 6.0, але Java 7 знайдена.

Якщо ви виправите властивості проекту, не встановлюючи попередньо Java 5 або 6, ви знову побачите ту саму помилку.

  • Отже, спочатку переконайтеся, що у вас встановлено Java SDK 5 або 6 або встановіть його.
  • Перевірте, чи змінна середовища (JAVA_HOME) вказує на SDK 5/6.

І потім:

  • Перевірте, чи Eclipse використовує SDK 5/6 за замовчуванням (Window => Prefs. => Java => Компілятор
  • Вимкнути конкретні параметри проекту (Властивості проекту => Java-компілятор)
  • Виправити властивості проекту

АБО

  • Залиште Eclipse, використовуючи JDK 7 за замовчуванням.
  • Увімкнути конкретні параметри проекту (Властивості проекту => Java-компілятор)
  • Виберіть Compiler Compliance 1.5 or 1.6 (Властивості проекту => Java Compiler)

3

Я згоден з BMSAndroidDroid та Flo-Scheild-Bobby. Я робив підручник під назвою DailyQuote і користувався бібліотекою Кордова. Потім я змінив свою ОС з Windows на Ubuntu і спробував імпортувати проекти в Eclipse (я використовую Eclipse Juno 64-розрядний, наUbuntu 12.04 64-bit , Oracle JDK 7. Я також встановив 32-бітні libs Ubuntu - так що проблем з 64 і немає 32 біт) і отримав те саме питання.

Як запропонував Flo-Scheild-Bobby, відкрийте конфігуруючи шлях збірки та додайте знову банки, які ви додавали раніше. Потім видаліть старі посилання (-и) банку і ось це.


3

Я вирішив цю проблему, використовуючи дві процедури:

  1. У програмі Eclipse -> «Проект» -> «Компілятор Java» -> встановіть «Рівень відповідності компілятору» = 1.6 встановіть прапорець «Використовувати параметри відповідності за замовчуванням» Встановити «Створено сумісність .классу» = 1.6 Встановити «Сумісність із джерелами» = 1,6

  2. Потім перейдіть у меню "Windows" -> "Налаштування" -> "Java", розгорніть "Java" -> "Компілятор" -> Встановіть "рівень відповідності компілятора" = 1,6

Підказка: Сумісність джерела повинна дорівнювати або менше рівня відповідності.


Не використовуйте SO для просування вашого веб-сайту.
caiocpricci2

2

Я б запропонував, щоб ви перевірили, чи файли jar належним чином включені у ваші проекти. Є можливість, що за відсутності файлів jar проект не буде складений


2

Як сказав BMSAndroidDroid, ця проблема може бути викликана неправильною конфігурацією контуру побудови.

Якщо ви до свого шляху збирання включили деякі бібліотеки, то перемістіть бібліотеки, шлях збірки збереже неправильні посилання, не знайде бібліотеки під час компіляції, і ви отримаєте помилку.

Щоб виправити це, клацніть правою кнопкою миші на папці проекту> шлях збірки> конфігуруйте шлях збірки. Потім перегляньте вкладку бібліотеки та видаліть старі бібліотеки.


2

У моєму випадку допомогло перехід від openjdk7 до openjdk6. Згодом я змінив рівень відповідності на 1.6 і все складено штрафом.


1

Я зіткнувся з цією проблемою, тому що мій debug.keystore закінчився, тому я видалив debug.keystore під папкою .android, і затемнення відновить нове debug.keystore, тоді я виправив


1

Слідом працював для мене

Enable project-specific settings and set the compliance level to 1.6

Як ти можеш це зробити?

У Package Explorerтретьому Eclipse клацніть на вашому проекті та виберіть properties. Відкриється вікно властивостей. Виберіть Java Compilerна лівій панелі вікна. Тепер Enable project specific settingsі встановити Complier compliance levelв 1.6. Виберіть, Applyа потім OK.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.