gen вже існує, але не є вихідною папкою


91

Я розробляю свій проект Android. Після видалення невикористаної бібліотеки з’явилося повідомлення про помилку:

myproject/gen already exists but is not a source folder. Convert to a source folder or rename it

У моєму коді активності R.javaнеможливо вирішити всі ресурси з .

Я спробував, клацніть правою кнопкою миші на своєму проекті => Шлях побудови Java => на вкладці "Джерело", я додав gen / як джерело. Але це не допомагає з проблемою ...

Чому, як позбутися цієї проблеми?

---- ОНОВЛЕННЯ ----

Я виявив, що затемнення також скаржиться, що "У проекту немає файлу project.properties! Редагуйте властивості проекту, щоб встановити його". , але у мене є файл project.properties під моїм проектом. Чому він скаржиться? Я очистив проект і "виправив властивості проекту", але це не допомагає.


5
переконайтеся, що ваша папка src містить будь-яку генеральну папку. якщо там його видалити. .не потрібно створювати його вручну. Очистіть свій проект один раз.
Падма Кумар,

привіт, моя папка src не містить жодної
генеральної

1
Сталося зі мною після імпорту проекту
max.mustermann

1
У вас дуже хороша відповідь, наразі оцінка 79, але ви її не прийняли. Ви повинні прийняти це. І ваше "ОНОВЛЕННЯ" має бути окремим питанням (і ви можете побачити, чи хтось уже відповів на нього).
steveha

Думаю, моя відповідь допоможе у вирішенні цієї проблеми .. stackoverflow.com/questions/9738203/…
Ранджит,

Відповіді:


234

Я отримую ту саму проблему.

Дві дії, перша:

    1. Клацніть правою кнопкою миші на проекті та перейдіть до "Властивості"
    2.Виберіть "Java Build Path" ліворуч
    3. Відкрийте вкладку "Джерело"
    4.Натисніть "Додати папку ..." та встановіть прапорці "gen" та "src"

друге: (оскільки попередня дія просила мене щось видалити ... Я не пам’ятаю, що це було ...)

    1. Клацніть правою кнопкою миші на проекті та перейдіть до "Властивості"
    2. Виберіть "Шлях побудови Java" ліворуч
    3. Відкрийте "вкладку" Бібліотеки
    4. Додайте зовнішній JAR. Додайте API Google, який знаходиться у вашому каталозі android (android-sdk \ platforms \ android-yourversion

І зараз у мене це працює!


10
У моєму випадку мені потрібно було виконати лише першу частину, згадану вище. Дякую!
tm_forthefuture

Перше рішення також допомогло мені у першій спробі :)
Саад Куреші,

2
Працював ... але як це сталося? Дурний Android. :-)
Райан Детцель

Перший крок у мене спрацював. Не знаю, як і чому Eclipse вирішив просто скинути ці папки (.classpath, здається, не змінився) ...
ssawchenko


37

Рішення:

Крок 1 :

  • Клацніть правою кнопкою миші на проекті та перейдіть до "Властивості"
  • Виберіть "Шлях побудови Java"
  • Перейдіть на вкладку "Джерело" Видаліть усі джерела з вихідної папки на шляху побудови
  • Перезапустіть Eclipse

Крок 2:

  • Клацніть правою кнопкою миші на проекті та перейдіть до "Властивості"
  • Виберіть "Шлях побудови Java"
  • Перейдіть на вкладку "Джерело"
  • Клацніть на "Додати папку ..." та перевірте вихідну папку "gen" та "src" на шляху побудови
  • Перезапустіть Eclipse

Остаточний

Проект побудови

Щасливий кодер :)


1
check gen лише вирішує проблему і не працює з папкою src
Manikandan

Я б даремно витратив свій день. Дякую
Пракаш

17
  1. Клацніть правою кнопкою миші на проекті та перейдіть до Властивості
  2. Виберіть шлях побудови Java зліва
  3. Вкладка з відкритим вихідним кодом
  4. Натисніть Додати папку ... і перевірте gen і src

Це найкраща відповідь. Стисло, проблема вирішена, бум!
Елі

8

Це спричинено використанням неправильного імпортера в Eclipse. Якщо у вас є проекти Android, вам потрібно імпортувати їх у свою робочу область за допомогою Android-> Існуючий код Android , а не Загальне-> Існуючі проекти .

введіть тут опис зображення


3

мені довелося видалити всю папку gen у eclipse, а не з провідника файлів. потім зробили чистку, і її відбудували. смішно це сталося відразу після того, як я запустив звіт Lint HTML.


Це теж спрацювало для мене. Просто видалив файл gen, і через кілька секунд був відновлений, і все повернулося до звичного.
Сенді,

2

Папка gen - це місце, де ADT створює файл R.java, який визначає визначення ресурсів. тобто ваші ресурси (кольори, розміри, макети тощо) перетворюються на код і розміщуються в R.java в генеральній папці.

Отже, коли ви створюєте додаток, вам потрібно переконатися, що папка gen обробляється вашою IDE як папка з вихідним кодом, оскільки вона містить клас R.

У вашій IDE вам потрібно позначити папку gen як вихідну, тому її вміст будується поряд із вашим джерелом.

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


9
але як я можу прийняти, якщо немає правильної відповіді? Я перевіряю відповіді, але рішення не є ніким ... Наприклад, мій поточний пост, я знаю, що таке gen / і як це працює в Android, я шукаю рішення своєї поточної проблеми. Але ще немає.
Leem.fin 02.03.12

1

Я зустрів ту саму проблему, вирішив її наступним чином:

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

Це все. Сподіваюся, це допоможе.


1

Я сконфігурував SVN для проекту з тією ж проблемою, видалив усі папки та файли, знову отримав його з SVN і все ще не везло. Єдине, що допомогло, - це скасування змін та видалення / повторний імпорт проектів у робочу область. Сподіваюся, це допомагає


0

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


0

У мене були одні й ті ж симптоми , але я вирішив це по-різному:

Я з’ясував, що в директорії, що малюється, у мене є два конфліктні файли: icon.png та icon.xcf. Це призвело до відмови R генерації. Я перемістив icon.xcf зі шляху, R згенерував і проект скомпілював.


0

Перейдіть до властивостей проекту, потім перейдіть до Java Build Path, потім Видаліть вже існуючу папку, потім натисніть Додати папку, а потім Додати джерельну та генеральну папки. потім натисніть ок ............ Це спрацює .......


0

Моє рішення було вставити наступне у файл .classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

0

Нам також потрібно перевірити наші оператори імпорту. Якщо ми імпортували „android.R“, це потрібно видалити.


0

Це трапляється тому, що ваш файл .classpath якось було знищено. Цей файл містить всю інформацію з вкладки Шлях побудови Java у розділі Властивості проекту. Ви можете додати всю інформацію вручну, але існує простіший спосіб вирішити цю проблему.

Якщо у вас є копія файлу .classpath на вашому комп'ютері, ви можете просто скопіювати та вставити його в каталог проекту.


0

Я спробував наведені тут пропозиції і все ще мав проблему. Нарешті, виявилося, що Eclipse неправильно імпортував. Чомусь він додав слова "gen" та "src" на початок рядка імпорту. Мені довелося змінити всі рядки імпорту з

import gen.org.qtproject.qt5.android.bindings.QtApplication;

до

import org.qtproject.qt5.android.bindings.QtApplication;

Як тільки я це зробив, все нормалізувалося.

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