Eclipse зависает в Android SDK Content Loader

292

Я работаю с Eclipse 4.2 (выпуск Juno 20120920-0800) на OS X 10.8.2 уже несколько недель, создавая приложения для Android 3.0 и выше. У меня есть четырехъядерный MacBook Pro с твердотельным накопителем i7, поэтому производительность не является проблемой. Все было отлично.

В какой-то момент я импортировал проект Android, который требовал Android 2.2, поэтому я установил его с помощью Android SDK manager (v.21). С тех пор работа с Eclipse длится вечно. Прежде всего, он напечатает следующее в сообщении о состоянии в правом нижнем углу:

Android SDK Content Loader: (0%)

Это займет две минуты или около того. Конкретное сообщение - «Проверить проекты», и при этом все проекты Android выделяются красным, потому что ресурсы Android не найдены. Затем он приступает к:

Загрузка данных для Android 2.2 (100%)

Это останется на пару минут. Затем происходит то же самое с Android 3.1 и другими версиями SDK, которые я установил. Он в основном зависает всякий раз, когда начинается первое автозаполнение (например, после ввода текста System.) или когда я получаю доступ к настройкам Android до его загрузки.

Вот состояние моего Android SDK:

Что я уже пробовал:

  • Переустановка Android SDK (через Homebrew), таким образом, удаление /usr/local/Cellar/android-sdkполностью.

  • Переустановка плагина AVD (v.21) с нуля.

Что я могу сделать, чтобы узнать об источнике этих проблем и вернуться в хорошее и чистое состояние?

slhck
источник
Вы должны иметь /r21после вашего Android-SDK местоположение? Мой заканчивается на android-sdks.
Мэтью Кирос
Да, это нормально для версий Android SDK, установленных через Homebrew. SDK найден и загружен, это займет вечность.
Slhck
У меня была такая же проблема, я просто нажал на Looding Content Loader, и он будет просто решен .. и сначала очистите его .. :)
Dharmik
взгляните на stackoverflow.com/questions/15056987/… я уверен, что это поможет вам
Дмила Рам

Ответы:

567

Это решение, которое я нашел, которое работает правильно:

  1. Убедитесь, что затмение не активно. Если он активен, kill eclipse с вкладки процессов диспетчера задач
  2. Открыть %USERPROFILE%/в Windows или просто ~в Linux / OS X (эту папку можно найти с рабочего стола)
  3. Перейти в .androidпапку (это может быть скрытая папка)
  4. Удалить папку, cacheкоторая находится внутри .androidпапки
  5. Удалить файл, ddms.cfgкоторый находится внутри .androidпапки
  6. Запустить Eclipse

Надеюсь, что это будет работать для вас.

Рой Мэтью
источник
5
Это должен быть принят ответ! Потрясающие! Большое спасибо!
Бурак
2
Отлично, это точное решение, другие решения не сработали в моем случае.
Навид Ахмад
1
Работал .. Чудо полно .. Спасибо #roy Мэтью
Низар
7
Это решение должно быть частью документации затмения.
Androidcoder
1
Вы сэкономили мое время. Можете ли вы объяснить причину этой проблемы. И как это решение решило ее?
Шринивасан
209

Та же проблема, застрял на 0%. Ран

/Applications/eclipse/eclipse -clean

и все снова отлично заработало. Измените этот путь для коробок Linux.

Обновление (из замечания от @Janusz)

Для пользователей Mac с eclipse вне каталога приложения ваша команда clean будет выглядеть примерно так:

path/eclipse/Eclipse.app/Contents/MacOS/eclipse -clean 
Тим О'Брайен
источник
7
+1. Это должно быть с первой попытки. Очистить и не требовать возиться с файлами Eclipse вручную
Marcin Orlowski
1
Это правильное решение. Удаление содержимого папки .projects вызывает проблемы с Eclipse: Eclipse не может открывать проекты в рабочей области.
racs
Я попробовал решение, которое вы описали, но не смог решить проблему. Мне пришлось удалить проект в каталоге .project
FrancescoAzzola
7
Для пользователей Mac: если у вас есть eclipse вне каталога приложения, как у меня, ваша чистая команда будет выглядеть примерно так: path / eclipse / Eclipse.app / Contents / MacOS / eclipse -clean
Януш Чудзински,
1
Перепробовал практически все и ничего не получалось. Закончилось просто создание нового рабочего пространства, и это помогло
Уиллу Джеймсону
103

Перейдите в каталог вашего рабочего пространства \workspace\.metadata\.plugins\org.eclipse.core.resources\.projectsи удалите все проекты в нем.

Примечание: вы не потеряете свои проекты

Мохамед Гамаль
источник
2
У меня сложная настройка рабочего пространства, и удаление всего из этой папки привело к тому, что Eclipse сошел с ума (не смог найти мои проекты). Однако восстановление этой папки в предыдущее состояние из моего инструмента резервного копирования устранило проблему.
Скотт W
1
Как и @ScottW, Eclipse это не понравилось. Однако я удалил все проекты и снова добавил их (через импорт Git), и он снова был счастлив.
Руперт Роунсли
7
Это было очень плохо для меня. Я думаю, что предложение "затмения" намного лучше.
Джеймс
Если Eclipse кричит на вас, удалите проекты из рабочей области (не с диска), а затем импортируйте их снова. После этого у меня
сработало
1
Вы не должны удалять этот каталог без возможности восстановления, потому что, как сказал @stevebot, проекты и их плагины не будут загружаться (вы потеряете даже настройки управления версиями для каждого из них). Вы должны сделать резервную копию папки .projects, запустить eclipse, дать ей загрузиться, затем закрыть ее, и после этого перезаписать недавно сгенерированные .projects тем, который вы заархивировали. (Взято отсюда: stackoverflow.com/a/22007977/939781 )
DNax
56

Я использовал некоторые другие ответы здесь, чтобы исправить эту проблему, но недавно я столкнулся с ней снова, и ни один не помог. Я не хотел переустанавливать или удалять свое рабочее пространство, поэтому я, наконец, нашел то, что сработало и могло бы помочь кому-то еще. Удалить файл:

/workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi

Сначала вы можете сделать резервную копию, если хотите. Он хранит настройки вашего рабочего места (состояние перспективы, пути к файлам для опций меню и т. Д.), Но затмение загружено, и мне не пришлось переустанавливать что-либо, как подсказывает какой-то ответ. И я нигде этого не видел.

Джим
источник
3
Все решение сработало только один раз, и после возобновления истории о затмении. Но это решение навсегда решит проблему. спасибо
М. Реза Насирлоо
1
Хотя чистое решение иногда работает для меня, это гораздо надежнее, спасибо.
Jgod
Это сработало и для меня. Моя установка - OS X 10.8.5, Eclipse 4.2.1
SundayMonday
Это был самый простой способ для меня (тем более что мне приходилось делать это несколько раз). Я должен снова открыть вкладку выражений, но это не важно.
codeMagic
Это сработало для меня, кажется, самое простое решение. Спасибо. Настройка: Windows 8.1, Eclipse 4.2.1, ADT 22.3.0.
Мехди
27

Я знаю, что это было решено, но я решил поделиться этой ссылкой :

Решение первое

Часто эта проблема может быть связана с сетью. Проверьте, находится ли ваша сеть за прокси. Если это так, вам нужно настроить прокси на Eclipse. Для этого перейдите в «Windows» -> «Настройки» -> «Общие» -> «Сетевые подключения» и введите информацию о своем прокси. Перезапустите Eclipse после этого. И наоборот, возможно, что вы ранее настраивали прокси в Eclipse, но вы больше не находитесь за прокси. Убедитесь, что вы отключили прокси.

Решение второе

Другим решением является очистка каталогов метаданных проекта, которые хранятся в каталоге рабочей области.

$ cd workspace/.metadata/.plugins/org.eclipse.core.resources/.projects
$ rm -rf *

Перезапустите Eclipse.

Решение третье

Проверьте, запущен ли процесс adb. Если это так, завершите процесс adb и перезапустите Eclipse.

Решение четвертое

  1. Попробуйте удалить содержимое папки кеша, расположенной в профиле пользователя под .android\cache
  2. Попробуйте удалить ddms.cfg, расположенный в профиле пользователя в .android
cking24343
источник
Я следую «
второму
Обновление: папки .svn всех проектов на самом деле все еще существуют, поэтому я открываю Eclipse, выбираю «Проект»> «Команда»> «Совместное использование проектов». Затем отобразится сообщение «Проект уже настроен с репозиторием SVN», нажмите «Готово» для повторного подключения настроек SVN. «Решение Два» решило мою проблему, спасибо @ cking24343.
Незнейка
22

Все остальные решения у меня не сработали, поэтому я просто удалил все файлы .log в папке [workspace] /. Metadata, и это снова сработало!

eeadev
источник
1
@ Али, в своем ответе я предложил удалить файлы .log. Я сожалею, что вы неправильно поняли.
eeadev
7

Оказывается, эта проблема действительно возникает, когда ваше интернет-соединение нестабильно, медленно и т. Д.

Как только я вернусь к своему обычному интернет-соединению, контент снова загрузится нормально, менее чем за несколько секунд.

slhck
источник
1
Это была действительно связь. Спасибо.
Аврам Счет
1
Мое соединение достаточно быстрое, но все еще проблема, я только что попробовал stackoverflow.com/a/15635287/501483 и все прекрасно работает!
Дхарам
7

Я испробовал все решения, но я не получил решение. После этого я отключил Интернет и удалил ddms.cfgиз .androidпапки -> open eclipse-> dialog of statistics send to Google?-> Выбранный NOи, наконец, работал на меня.

Отредактировано:

Я попробовал eclipse -cleanкоманду в командной строке, и это также сработало для меня.

Примечание: для eclipse -cleanкоманды сначала вы должны выбрать путь к папке eclipse, в которую вы поместили.

Спасибо.

Пратик Бутани
источник
3

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

cd workspace/.metadata/.plugins/org.eclipse.core.resources/.projects
rm -rf *

Никакой перезапуск Eclipse или перезагрузка Mac не помогли. Кажется, что Eclipse попадает в эту стадию из-за внезапной остановки. Мне пришлось принудительно загрузить мой Mac, и эта проблема, кажется, происходит с тех пор.

codeFood
источник
2

Мое решение:

Установите все документы в диспетчере SDK.

ragzz2014
источник
Я думаю, что было бы лучше на самом деле решить проблему. Это похоже на обходной путь.
Йохан Карлссон
Как вы думаете, это связано с подключением к Интернету или скоростью? Назад, когда у меня была эта проблема, мое соединение было очень слабым, но теперь, кажется, снова стало лучше, и Eclipse больше не зависает
slhck
Я думаю, что это проблема с подключением, я просто решил ее, установив всю Документацию для Android SDK в Android SDK Manager.
ragzz2014
2

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

open ~/.bash_profile

в конце файла вставьте эту функцию:

function eclipse-clean() {
  echo "removing ddms.cfg file" 
    cd ~/.android/
    rm ddms.cfg 
  echo "removing cache"
    cd cache/
    rm -rf *
  echo "done! you can open eclipse now."
}

тогда все, что вам нужно сделать сейчас:

source ~/.bash_profile

и всякий раз, когда вы застряли, просто введите в окне терминала:

eclipse-clean
RafalManka
источник
2

просто щелкните правой кнопкой мыши на eclipse и запустите его как администратор. У меня тоже была такая же проблема, после этого она работала нормально, иногда окна не дают разрешения на доступ к SDK у обычного пользователя, поэтому вы должны дать разрешения администратора для того, чтобы рабочий андроид sdk или загрузчик контента

этот подход:

выключите eclipse, затем перейдите в YourWorkSpace \ .metadata \ .plugins \ org.eclipse.e4.workbench и удалите «workbench.xmi», теперь перезапустите eclipse.

Викас Аггарвал
источник
1

Я сделал этот пакетный файл, чтобы выполнить задачу, объясненную ответом slhck для систем Windows:

@echo off
set ECLIPSEFOLDER=%CD%
cd /D %USERPROFILE%/.android
rd /s /q cache
del ddms.cfg /f
cd /D %ECLIPSEFOLDER%
eclipse -clean -refresh
exit

Я объяснил такой подход в этом посте на моем блоге.

Darkseal
источник
0

Все вышеперечисленные решения не сработали для меня.

В eclipse под вкладкой «Проблемы» проверьте ошибки - вы можете увидеть невозможность удаления файла и пути к проекту.

Теперь перейдите в каталог вашего рабочего пространства - проверьте project.properties для всех проектов, указанных на вкладке проблем, и проверьте

целевой = андроид-21

Целевое значение допустимо и существует в вашей папке android-sdk / platform /

В моем случае цель = Google, Google-Api-16 был причиной проблемы. Замените это, и это решено.

Fenil
источник
0

Работал! Я только открыл терминал и набрал:

    cd documents/workspace/.metadata/.plugins

а потом ... набрал

rm -rf

... в этой категории .plugins .

itzo
источник
Если вы просто хотите подтвердить другой ответ, нет необходимости публиковать его снова.
slhck
Хорошо, что я попробовал, отличается от любых вышеупомянутых решений.
ИЦО
0

Существуют различные причины этой проблемы, и у каждого есть свое решение. Для среды Linux я создал псевдоним, чтобы позаботиться о большинстве из них, поскольку они произошли сверхурочно. Чтобы иметь все это в одном месте, вы можете попробовать это:

  • Добавьте следующее в ваш ~/.bash_aliasesфайл.

    alias eclipse='rm -rf ~/.android/ddms.cfg;rm -rf ~/workspace/MyApps/.metadata/.plugins/org.eclipse.core.resources/.projects/*;mv ~/workspace/MyApps/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi ~/workspace/MyApps/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi.bkp;rm -rf ~/.android/cache/;cd ~/Desktop/adt-bundle-linux-x86_64-20140702/eclipse;nohup ./eclipse & cd -;'
  • Обновить источник используя source ~/.bash_aliases

Примечание:

  • ~/workspace/MyAppsмое рабочее пространство , вам придется настроить его соответственно.

  • ~/Desktop/adt-bundle-linux-x86_64-20140702/eclipseгде находится мой исполняемый файл Eclipse , и вам придется соответственно

Sandeep
источник
-1

Так вот что заставило меня снова работать:

Решены проблемы с различными версиями, связанными с android-support-v4.jar. Они не соответствовали друг другу, что вызывает проблемы, если проекты так или иначе связаны между собой.

Второй не так очевиден: я перезапустил IDE из оболочки, предоставив $ANDROID_SDK_HOMEпеременную - Environment. Это сделало меня на шаг впереди, но идея висит в другом месте. Обеспечение, $ANDROID_HOMEнаконец, вернуло меня снова.

Кстати: после этой процедуры не было необходимости в следующих запусках среды IDE заново устанавливать переменные среды.

Питер
источник
1
Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его постом - вы всегда можете комментировать свои собственные посты, и, когда у вас будет достаточно репутации, вы сможете комментировать любой пост .
plaes