грешка при синтактичния анализ на android sdk main.out.xml?

Току-що започнах нов проект за Android, „WeekendStudy“, за да продължа да уча разработката за Android и се затрудних да компилирам „hello weekendstudy“ по подразбиране компилиране/изпълнение. Мисля, че пропуснах стъпка в конфигурацията и настройката, но не мога да разбера къде. Имам конфигуриран, настроен и стартиран AVD.

Когато натисна „run“, SDK изгражда файл main.out.xml и след това се проваля по следния начин:

[2010-03-06 09:46:47 - WeekendStudy]Error in an XML file: aborting build.
[2010-03-06 09:46:48 - WeekendStudy]res/layout/main.xml:0: error: Resource entry main is already defined.
[2010-03-06 09:46:48 - WeekendStudy]res/layout/main.out.xml:0: Originally defined here.
[2010-03-06 09:46:48 - WeekendStudy]/Users/mobibob/Projects/workspace-weekend/WeekendStudy/res/layout/main.out.xml:1: error: Error parsing XML: no element found
[2010-03-06 09:48:16 - WeekendStudy]Error in an XML file: aborting build.
[2010-03-06 09:48:16 - WeekendStudy]res/layout/main.xml:0: error: Resource entry main is already defined.
[2010-03-06 09:48:16 - WeekendStudy]res/layout/main.out.xml:0: Originally defined here.
[2010-03-06 09:48:16 - WeekendStudy]/Users/mobibob/Projects/workspace-weekend/WeekendStudy/res/layout/main.out.xml:1: error: Error parsing XML: no element found
[2010-03-06 09:55:29 - WeekendStudy]res/layout/main.xml:0: error: Resource entry main is already defined.
[2010-03-06 09:55:29 - WeekendStudy]res/layout/main.out.xml:0: Originally defined here.
[2010-03-06 09:55:29 - WeekendStudy]/Users/mobibob/Projects/workspace-weekend/WeekendStudy/res/layout/main.out.xml:1: error: Error parsing XML: no element found
[2010-03-06 09:55:49 - WeekendStudy]Error in an XML file: aborting build.
[2010-03-06 09:55:49 - WeekendStudy]res/layout/main.xml:0: error: Resource entry main is already defined.
[2010-03-06 09:55:49 - WeekendStudy]res/layout/main.out.xml:0: Originally defined here.
[2010-03-06 09:55:49 - WeekendStudy]/Users/mobibob/Projects/workspace-weekend/WeekendStudy/res/layout/main.out.xml:1: error: Error parsing XML: no element found

person mobibob    schedule 06.03.2010    source източник
comment
Мисля, че имам отговора. Не използвам правилния източник. Намерих намек в този уеб форум. anddev.org/viewtopic.php?p=31088   -  person mobibob    schedule 06.03.2010
comment
Тук има свързан доклад за грешка срещу Eclipse: bugs.eclipse.org/bugs/ show_bug.cgi?id=287951. Резолюцията изглежда не е мой проблем.   -  person Mu Mind    schedule 08.07.2011
comment
Докладът за грешка даде решение, което работи за мен: Помощ -> Инсталиране на нов софтуер -> вече инсталиран -> XSL инструменти -> деинсталиране   -  person Thomas Rebele    schedule 30.11.2017


Отговори (17)


По-добра корекция: Eclipse -> Window -> Preferences -> Run/Debug -> Launching -> Lauch Configuration

Кръстосано: Филтриране на проверени типове конфигурация за стартиране и кръстосано също: XSL (в края на списъка)

Накарайте проблема да изчезне завинаги!

person Hugo Garcia-Cotte    schedule 29.03.2011
comment
Нямах XSL в моя списък. Единствените елементи, които бяха изброени (всички без отметка), където работещи единици (напр. приложение, junit, android и т.н.) - така че това списък с изключване или включване ли е? Между другото - +1 за този отговор, тъй като това е типът конфигурационна настройка, за която се надявах да чуя. - person mobibob; 31.03.2011
comment
@mobibob: сигурен ли си, че си отишъл на window-›preferences-›run/debug-›launching-›launch configurations, или просто си отворил run конфигурации под -›run? Те са различни места - person Thomas Dignan; 09.05.2011
comment
@Tom Dignan - В крайна сметка намерих правилния диалогов прозорец за конфигурация. На Mac предпочитанията, които имате предвид, са в Eclipse -› Предпочитания -› Изпълнение/Отстраняване на грешки -› Стартиране -› Конфигуриране на стартиране. - person mobibob; 09.05.2011
comment
Това изглежда като стъпка в правилната посока, но моята инсталация на Eclipse (Helios) все още ги стартира като XSL трансформации, когато щракна върху бутона Run, въпреки че XSL вече не е в списъка Run Configurations . След като се стартира, той добавя XSL трансформация към записа Run As в контекстното меню. - person Mu Mind; 08.07.2011
comment
Аз съм в същата лодка като Mu Mind, но с Eclipse (Indigo). Така че след това открих, че това помага, задайте бутона за стартиране винаги да стартира предишната операция: Eclipse -› Window -› Preferences -› Run/Debug -› Launching -› Launch Operation -› Винаги стартирайте стартираното преди това приложение - person DonnaLea; 22.08.2011
comment
+1 Нямам представа какво прави това, но ми свърши работа. Благодаря! - person Leo; 07.10.2011
comment
Същият проблем като Mu Mind. Първо се опитвах да премахна XSL плъгина, но успях да премахна само цялата среда на Java EE. (всъщност ги премахнах, след това самият Eclipse изчезна...) Изтеглям и преинсталирам Eclipse Classic 3.7.1 и ADT плъгин, след което работи спокойно. - person Nobu; 27.11.2011
comment
Следвах инструкциите на DonnaLea, както и OP и работи за мен на Eclipse Indigo с CTRL+F11, докато редактирам XML файл. - person dcompiled; 11.03.2012
comment
надявам се, че разработчиците на eclipse или adt ще премахнат този проблем, за да не се налага ние... толкова досадно. - person botbot; 27.04.2012

Да, същия проблем и при мен.

За да предотвратите създаването на out.xml.

  1. редактиране на XML файл, напълно естествено нещо....

  2. запишете и затворете XML файла

  3. Отворете всеки .java файл в src/

  4. Щракнете двукратно върху файла, за да се уверите, че има фокус и курсорът е там.

  5. Бягай... вече трябва да е наред

Ако се случи, направете това...

  1. редактиране на XML файл, напълно естествено нещо....

  2. Изпълнение... срив поради ужасен файл out.xml

  3. Изтрийте файла /res/___.out.xml

  4. Затворете всички файлове в изгледа на IDE

  5. Проект...Чист...

  6. Отворете всеки .java файл в src/

  7. Щракнете два пъти върху файла, така че да има фокус и курсорът да е там.

  8. Бягай... вече трябва да е наред

person Berry Wing    schedule 14.09.2010
comment
+1 Само този отговор и други от потребител‹somebignumber› казва как да го поправя, не знам как OP избра грешен отговор - person GoodSp33d; 12.12.2010

трябва да стартирате проекта като приложение за Android, а не само да щракнете върху иконата - Стартирайте

person wang    schedule 19.04.2010
comment
Здравей Уанг, мисля, че докладваш това, което вече беше открито. Мисля, че е интересно, че Eclipse почти ще ви позволи да стартирате всичко и най-новото нещо, до което имах достъп, беше layout-xml файл. В резултат на това „debug“ по подразбиране в лентата с инструменти се опита да „debug“ моя xml. Малко е глупаво да бъдеш такъв буквален инструмент. Благодаря, че добавихте забележката си. - person mobibob; 19.04.2010
comment
Точно това ми се случи! Благодаря! Решението от приетия отговор не спомена какво се случва, въпреки че казват как да се отървем от стартирането на main.xml в бъдеще, което беше проблемът тук. - person inkredibl; 15.06.2011

Изтрих xxx.out.xml, ако все още не може да стартира, моля, следвайте това Eclipse ->Проект->Почистване...->Изберете вашия проект->OK

Задайте курсора във вашата *.java, стартирайте го

person user383343    schedule 05.07.2010
comment
Наистина не знам на колко години е този Q, но много отговори по-горе казаха как да го стартирам правилно, но това казва как да го ПОПРАВЯ, +1 от моя страна :) - person GoodSp33d; 12.12.2010

Опитвах се да избягам от грешната част на проекта, тъй като лентата ми с инструменти не беше свързана правилно. Все още разработвам подробностите и ще редактирам това, когато го разбера напълно.

На първо място, това беше ново работно пространство, което исках да създам, за да организирам моите различни несвързани проекти. В резултат на това RUN на лентата с инструменти нямаше конфигурирана цел (т.е. в хронологията), така че се опита да изпълни моя main.xml файл.

Щракнете с десния бутон върху един от *.java файловете и изберете „изпълни като...“, след което можете да създадете конфигурация за изпълнение с нейната цел (изберете или създайте AVD), проекта и т.н. Препоръчвам да посетите всеки от разделите и прегледайте настройките по подразбиране за вашата ситуация.

След това седнете и изчакайте емулатора да се зареди за първи път (моят отне около 1 до 2 минути на Macbook).

person mobibob    schedule 06.03.2010

Това изглежда е проблем с един от XML плъгините на eclipse, мисля, че е нещо в уеб инструментите. Преди можех да стартирам приложението от всеки файл, било то XML или java, но след като инсталирах Web Tools, започнах да виждам тази грешка. Наистина е досадно, толкова съм свикнал да натискам Ctrl-F11, за да изградя приложението... но ако го направите в XML файл, получавате тази грешка. Корекцията, спомената по-горе, работи, но са допълнителни стъпки и е по-малко ефективно да трябва да щракнете с десния бутон върху проекта и да изберете Изпълни като... бла-бла. Ако някой измисли чисто решение - освен премахването на уеб инструменти, разбира се - за да ми върне моя клавиш за бърз достъп, ще съм благодарен.

person estitt    schedule 04.09.2010

Нов съм в обучението за разработка на приложения за Android. И аз се сблъсках с този проблем и се разочаровах. Деинсталирайте целия Android SDK и го инсталирайте отново, като имате предвид, че има някакъв проблем.

За моя изненада решението е много просто. Ако оставите мишката върху xml файла и отидете на Run, ще генерира грешка. Така че решението е просто. Кликнете върху .java файл или върха на цялото дърво (пример: ако структурата е като тази: Firstapp>Src>Firstapp.java, просто щракнете върху Firstapp) и след това стартирайте.

Ще работи гладко.

person Anand    schedule 12.05.2011
comment
съжалявам, че и вие се натъкнахте на него :( Изключително често срещано е и лесно да се сблъскате, но решението ви вероятно е проработило, защото сте преинсталирали SDK и вероятно сте имали нов проект. Въпреки това, ако някога направите грешката и генерирате *.xml. out файл, вашият проект няма да изчисти, стартира и т.н., докато изрично не изтриете фалшивия файл. Препоръчвам ви да следвате съвета по-горе от @Hugo Garcia-Cotte, който ще попречи на Eclipse да се опита да изпълни по невнимание който и да е XML файл. - person mobibob; 12.05.2011

@neil patel > Просто повтарям отговора по-горе ... уведомете ме, ако трябва да се изясни.

Щракнете с десния бутон върху един от *.java файловете и изберете „изпълни като...“, след което можете да създадете конфигурация за изпълнение с нейната цел (изберете или създайте AVD), проекта и т.н. Препоръчвам да посетите всеки от разделите и прегледайте настройките по подразбиране за вашата ситуация.

person mobibob    schedule 07.06.2010

Имах същия проблем и опитах много различни неща. Накрая се отказах, копирах цялото дърво на проекта на друго място. Създадох нов проект за Android и копирах src файловете, res.layout, res.values ​​файловете и моите добавени персонализирани изображения под drawable. Щракнете с десния бутон върху проекта в изследователя на пакети и натиснете „Опресни“. Сега отново работи. Вероятно не е най-добрият начин да го поправите, но работи :-)

person Weke    schedule 21.07.2010
comment
вижте коментара ми към @zohar по-горе. - person mobibob; 12.08.2010

Ето един блог публикация, която току-що открих, която определено решава проблема!

person Bahadir Cambel    schedule 01.02.2011
comment
всъщност, Бахадир, тази публикация в блога е просто повторение на този въпрос и приетия отговор. Това не решава проблема по друг начин. Надявах се, че това е нов макрос или настройка за eclipse, за да разпознае файловия тип .XML и да игнорира заявката за изпълнение. Моят въпрос и отговорите в диалоговия прозорец надминават тази публикация в блога :) -- септември 2010 г. в сравнение с март 2010 г. - person mobibob; 03.02.2011

Вярвам, че имам отговора. Аз също успях да стартирам с всеки избран стар файл. Нещо се промени и изведнъж получих страховитата грешка при синтактичния анализ на xxx.out.xml. Е, намерих начин да го заобиколя. Моля, някой да ми потвърди, че това работи и за вас.

Щракнете върху Window->Preferences Select или филтрирайте търсенето за Launching(run/debug)

В долната част на десния панел потърсете операция за стартиране и изберете „Винаги стартирай стартираното преди това приложение“

Почистете проекта си и го стартирайте правилно поне веднъж. Тествах това и изглежда, че работи постоянно.

наздраве

person R Hughes    schedule 11.02.2011

Опитайте и проверете дали валидният източник работи или не.

Изтрих xxx.out.xml, ако все още не може да стартира, моля, следвайте това Eclipse ->Проект->Почистване...->Изберете вашия проект->OK

person user366584    schedule 27.08.2011

Аз също бях изправен пред този проблем.

Когато използвате eclispe, се уверете, че преди да щракнете върху „Run“, всеки файл, избран в Project, не е XML файл. С това никога няма да получите тази грешка. Освен това се уверете, че сте изтрили всички ....out.xml от вашето работно пространство.

Прекарах почти 30 минути, за да разбера основната причина за това и намерих това решение.

person Jha    schedule 08.07.2012

Сблъсках се с този проблем, но горните отговори не ми помогнаха. След като се огледах, поправих това сам и мисля, че трябва да запиша решението.

Компилаторът на Android създава *.out.xml, ако стартирате проекта като XSL. за да коригирате това, трябва да направите следните стъпки:

  • щракнете върху стрелката от дясната страна на бутона Run, изберете Run Configurations. От лявата страна на изскачащите прозорци изтрийте всички под-елементи под XSL.
  • отидете на Конфигурация за стартиране под предпочитания => Изпълнение/отстраняване на грешки => Стартиране. Поставете отметка до „Стартиране с проверено филтриране...“ и след това премахнете отметката от XSL, когато държите отметката в приложението за Android.

Надявам се това да помогне.

person Nguyen Minh Binh    schedule 20.08.2012

Както е посочено в Как да спрете опитите на Eclipse да изпълни XML файлове?: Под Предпочитания -> Изпълнение/Отстраняване на грешки -> Стартиране можете да изберете „Винаги стартиране на стартираното преди това приложение“. Това е полезно, ако сте склонни да използвате клавишната комбинация Ctrl+F11.

person pypmannetjies    schedule 23.11.2012

Eclipse ->Project->Clean...рестартирайте проекта си и това е добре

person zclmoon    schedule 22.12.2010
comment
Причината, която изглежда работи е, че когато се върнете обратно към Eclipse, фокусът ви не е върху XML файла на навигационния панел. Това не е много добро решение, ако човек винаги трябва да почиства и рестартира. Просто изтрийте измамния файл и внимавайте да не го създадете отново. Знайте къде е вашият фокус, преди да бягате от Eclipse. (Вижте приетия отговор по-горе и неговото обсъждане.) - person mobibob; 23.12.2010

Имах същия проблем като стената, моето решение беше:

Просто го импортирайте отново, без да създавате нов проект

първо опитайте да направите това:

Eclipse -›Проект-›Почистване...-›Изберете вашия проект-›ОК

Ако това не проработи, опитайте това..

1.копирайте папката на проекта от работното пространство някъде другаде (десктоп ще се оправи) 2.изтрийте проекта от eclipse (отметнато квадратче изтриване на съдържанието на проекта от диска) 3.копирайте проекта отново само този път от работния плот в работното пространство 3.импорт проекта отново (Файл››Импортиране››Общи›› Съществуващ проект в работното пространство ) 4.това работи за мен ..

person Community    schedule 12.08.2010
comment
това е много ненужно преместване на файлове. Eclipse е малко тъп за някои дейности, но всичко, което е необходимо, е да изтриете случайно компилирания xml файл. Ако имате файл foo.out.xml, който внезапно се появи във вашия проект, има вероятност да сте се опитали да „изпълните“, докато изборът е бил върху файла foo.xml. Просто изтрийте foo.out.xml, обновете проекта си и го компилирайте правилно. В бъдеще внимавайте да не „изпълните“ или „изпълните като...“, докато избирате файл с ресурси. - person mobibob; 12.08.2010
comment
Благодаря, @mobibob, прав си, опитах се да го направя, но изглежда, че foo.out.xml е останал в паметта и продължавам да получавам съобщение за грешка за foo.out.xml, въпреки че файлът е изтрит от диска. запознат ли си с това? - person ZoharAdar; 15.08.2010
comment
честно казано не е по памет. Когато това се случи с мен, е когато натисна иконата за изпълнение, без да осъзнавам, че изборът/фокусът ми е върху XML файл. Правя това (случайно), когато редактирам манифеста си и след това щраквам, без да използвам функцията за падащо меню или да задържа курсора на мишката. След това създава файла и аз го изтривам веднага. ТОГАВА Опитвам се да се придържам към ВИНАГИ, като използвам падащото меню на бутона на лентата с инструменти за изпълнение на моя код. Има смисъл?? С други думи, това е просто невнимателна потребителска грешка, когато се опитва да работи твърде бързо. - person mobibob; 03.09.2010