Отсутствует AndroidManifest.xml при импорте старого проекта Android в Eclipse - PullRequest
53 голосов
/ 10 декабря 2010

У меня есть проект Android, разработанный на Eclipse (GNU / Linux), к которому я последний раз прикасался полгода назад. Я пытаюсь импортировать проект в Eclipse 3.6 в Windows (с установленным ADT), используя File -> Import Project в Eclipse. Когда проект импортируется, я дважды вижу на консоли следующую ошибку:

[2010-12-10 02:17:12 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Невозможно прочитать C: \ Program Files \ Android \ Android-СДК-окна \ AndroidManifest.xml: java.io.FileNotFoundException: C: \ Program Files \ Android \ Android-СДК-окна \ AndroidManifest.xml (Система не может найти файл указано)

Почему Eclipse ищет AndroidManifest.xml на пути Android SDK? Файл на самом деле, кажется, находится в каталоге проекта. Как мне исправить эту проблему и заставить проект скомпилироваться?

Ответы [ 20 ]

46 голосов
/ 15 сентября 2012

Простое решение - либо повторно импортировать файл AndroidManifest.xml, либо внести изменения в файл и сохранить его.Это сработало для меня.

26 голосов
/ 17 сентября 2011

Если вы видите ошибку об AndroidManifest.xml или некоторые проблемы относящиеся к zip-файлу Android, щелкните правой кнопкой мыши по проекту и выберите Инструменты Android> Исправить свойства проекта. (Проект смотрит в неправильное расположение для файла библиотеки, это исправит это для вас.)

от: http://developer.android.com/resources/tutorials/notepad/notepad-ex1.html

21 голосов
/ 10 декабря 2010

Неправильный способ импорта проекта Android в Eclipse. Правильный способ сделать это File -> New Android Project. На вкладке «Содержимое» в «Новом проекте Android» выберите «Создать проект из существующего источника» и выберите «Цель сборки». Это должно исправить вашу проблему.

6 голосов
/ 02 ноября 2011

Похоже, что эта ошибка возникает из-за того, что Eclipse считает, что местоположением по умолчанию для новых проектов Android является путь Android SDK. Даже если местоположение проекта изменилось, ошибка не может быть устранена, поэтому хитрость заключается в том, чтобы изменить местоположение проекта до того, как Eclipse узнает об условии, генерирующем ошибку.

Чтобы обойти эту причуду, я импортировал старый проект, выполнив следующие шаги:

  1. Файл -> Новый -> Android Project
  2. Снимите флажок «Использовать местоположение по умолчанию» и перейдите к корневому каталогу проекта.
  3. Нажмите «Создать проект из существующего источника»

Важно выполнить шаг (2) перед (3), иначе ошибка не исчезнет и не позволит запустить проект.

4 голосов
/ 06 сентября 2012

У меня была такая же проблема, все вышеперечисленное не сработало. Я очистил проект, и он работал.

4 голосов
/ 19 мая 2011

Вместо использования Файл ---> Новый проект Android -> «Создать проект из существующих источников», что приведет к ошибке, которую вы видите, выберите «Создать проект из существующего образца» и выберите его из выпадающего , Это будет работать

Опытные разработчики JAVA склонны использовать первый вариант, который обычно присутствует и работает для классических проектов Eclipse. Но это не ваш типичный проект, и я готов поспорить, что разработчики Google поместили этот специальный случай в мастер, чтобы учесть различия.

3 голосов
/ 26 сентября 2012

это сработало для меня, кстати:

Я изменил имя проекта на точное имя проекта, который я импортирую.

3 голосов
/ 26 декабря 2011

У меня была такая же проблема. Я пытался скомпилировать пример страницы просмотра JakeWharton, поэтому я извлек GIT в каталог в другой папке, чем в рабочем пространстве, что вызвало проблему.

Eclipse поддерживал 2 папки: 1. В каталоге рабочего пространства была создана новая папка рабочего пространства, которая затмевает проверки на наличие библиотек и другого исходного кода, включая файл AndroidManifest.xml. 2. Существующая папка, которая не была в рабочей области Root

Чтобы исправить проблему после импорта, мне пришлось вручную переместить файлы в новую папку рабочего пространства, созданную eclipse.

3 голосов
/ 11 июля 2012

Я столкнулся с этой проблемой при использовании Facebook SDK, теперь я решаю ее следующим образом:

  1. Закройте проект;
  2. Скопируйте файл "AndroidManifest.xml" в корень проектаpath;
  3. Откройте проект и обновите его, все готово!
2 голосов
/ 16 мая 2013

Из-за множества разных ответов здесь, я хотел бы добавить еще один, который работал для меня, так как у меня была точно такая же проблема при первой работе с PhoneGap android dev tools.

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

Таким образом, я создал проект в окнах как это вcmd window ...

c:\phonegap\phonegap-2.6.0\lib\android\bin>create.bat c:\temp\android_boilerplates\test app.test test

Затем я импортировал проект в Eclipse следующим образом ...

Файл> Новый> Проект

В мастере нового проекта выберите:«Android-проект из существующего кода»

Нажмите «Далее»

enter image description here

Теперь перейдите к временному местоположению вашего проекта и установите его в корневой каталог, проверьтепроект, который вы хотите, и отметьте «Копировать проекты в рабочую область», как показано ниже ...

Нажмите «Готово»

enter image description here

И все, Eclipseскопируйте все свои файлы проекта в рабочую область, и в вашем проекте не должно быть ошибок (скрестив пальцы).

Ваш проект должен выглядеть примерно так ...

enter image description here

Надеюсь, это поможет, это заняло у меняЧтобы понять, почему Eclipse не нравится создавать новый проект из существующего кода, когда новый проект настраивается в том же месте, что и существующий код.Это не проблема для других языков, которые я использовал, поэтому это было немного странно, но понятно, поскольку Eclipse (я предполагаю), похоже, хочет перезаписать определенные файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...