Error parsing xml unbound prefix error

Hi, Thanks for making this plugin. I really need this functionality. Unfortunately it breaks my cordova android build with this error: ../platforms/android/build/intermediates/res/armv7/debug/xml/c...

Hi,
Thanks for making this plugin. I really need this functionality. Unfortunately it breaks my cordova android build with this error:
../platforms/android/build/intermediates/res/armv7/debug/xml/config.xml:43: error: Error parsing XML: unbound prefix

That line says:
<config-file parent="/*" target="AndroidManifest.xml"> <uses-permission android:name="android.permission.CAMERA" /> </config-file>

The root config.xml file used by this installation has the following config platform settings that are used by your plugin:
<platform name="android"> <config-file target="AndroidManifest.xml" parent="/*"> <uses-permission android:name="android.permission.CAMERA" /> </config-file> <preference name="android-manifest/application/@android:name" value="com.joustie.foo.App" /> <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/> <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/> <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/> <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/> <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/> <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/> <splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/> <splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/> <splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/> <splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/> <splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/> <splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/> <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/> <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/> <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/> <splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/> <splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/> <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/> </platform>

Any idea why android build fails? The AndroidManifest.xml file int he platform directory is correctly updated by your plugin code, but it seems to also alter an ‘intermediate’ file that is parsed in the android build phase?

14 ответов

Несколько причин, по которым это может произойти:

1) Вы видите эту ошибку с неправильным пространством имен или опечаткой в ​​атрибуте. Как и «xmlns», это должно быть xmlns:android

2) Сначала node должен содержать:
xmlns:android="http://schemas.android.com/apk/res/android"

3) Если вы интегрируете AdMob, проверьте пользовательские параметры, такие как ads: adSize, вам нужно

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"

4) Если вы используете LinerLayout, вам может потребоваться определить инструменты

xmlns:tools="http://schemas.android.com/tools"

Pentium10
08 фев. 2010, в 13:40

Поделиться

Я собираюсь добавить отдельный ответ только потому, что не вижу его здесь. Это не 100%, о чем просил Pentium10, но я оказался здесь, ища Error parsing XML: unbound prefix

Оказывается, я использовал пользовательские параметры для объявлений AdMob, например ads:adSize, но я не добавил

    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"

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

MalcolmOcean
16 дек. 2012, в 09:34

Поделиться

У меня была такая же проблема.

Убедитесь, что префикс (android: [whatever]) записан правильно и правильно написан. В случае линии xmlns:android="http://schemas.android.com/apk/res/android"
убедитесь, что у вас есть полный префикс xmlns:android и что он написан правильно. То же самое с любыми другими префиксами — убедитесь, что они написаны правильно и имеют android:[name]. Именно это и решило мою проблему.

Daniel
20 сен. 2010, в 08:03

Поделиться

Как вы говорите, вам нужно указать правильное пространство имен. Вы также видите эту ошибку с неправильным пространством имен.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns="http://schemas.android.com/apk/res/android"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:padding="10dip">

не будет работать.

Изменить:

xmlns="http://schemas.android.com/apk/res/android"

к

xmlns:android="http://schemas.android.com/apk/res/android"

Сообщение об ошибке относится ко всему, что запускает «android:», поскольку XML не знает, что такое пространство имен «android:«.

xmlns:android определяет его.

VonC
08 фев. 2010, в 14:21

Поделиться

Эта ошибка может возникнуть в случае, если вы используете неопределенный префикс, например:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TabHost
    XYZ:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >


</TabHost>

Компилятор Android не знает, что такое XYZ, поскольку он еще не определен.

В вашем случае вы должны добавить ниже определение в root node файла xml.

xmlns:android="http://schemas.android.com/apk/res/android"

Nguyen Minh Binh
08 дек. 2011, в 08:20

Поделиться

ошибка несвязанного префикса для Индикатор ViewPager:

Наряду со следующими тегами заголовка в родительскомLayout:

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"

Также добавьте:

xmlns:app="http://schemas.android.com/apk/res-auto"

Это помогло мне.

amalBit
10 фев. 2014, в 12:48

Поделиться

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

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
anrdoid:fillViewport="true"
>

flobacca
14 авг. 2012, в 21:37

Поделиться

У меня была та же проблема, и я обнаружил, что решение заключалось в том, чтобы добавить android: tools в первый node. В моем случае это LineraLayout:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical">

Sebastian Breit
27 сен. 2012, в 15:24

Поделиться

Я добавлю немного больше для новичков и для людей, таких как я, которые не понимают XML.

Ответы выше довольно хорошие, но общий ответ заключается в том, что вам нужно пространство имен для любого пространства имен, используемого в файле config.xml.

Перевод: любое имя тега XML, которое имеет тег с пространством имен, где blah — это пространство имен, а fubar — это тег XML. Пространство имен позволяет использовать множество различных инструментов для интерпретации XML с их собственными именами тегов. Например, Intel XDK использует пространство имен intelxdk, android использует android. Таким образом, вам нужны следующие пространства имен или сборка подбрасывает кровь (т.е. Ошибка синтаксического анализа XML: несвязанный префикс), которая переводится на: вы использовали пространство имен, но не определяли его.

  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:intelxdk="http://xdk.intel.com/ns/v1"

user2360134
24 дек. 2014, в 06:51

Поделиться

Эта ошибка обычно возникает, если вы не включили xmlns:mm правильно, она обычно встречается в первой строке кода.

для меня это было..

XMLNS: мм = «http://millennialmedia.com/android/schema»

что я пропустил в первой строке кода

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:mm="http://millennialmedia.com/android/schema"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="50dp"
android:layout_marginBottom="50dp"
android:background="@android:color/transparent" >

Kailas
14 фев. 2014, в 08:22

Поделиться

Вам просто нужно добавить правильное пространство имен в свой корневой тег.
XMLNS: андроид = «http://schemas.android.com/apk/res/android»
Элементы Android объявляются в этом пространстве имен. То же самое, что импортировать класс или пакет.

Gevaria Purva
30 июнь 2016, в 07:06

Поделиться

Помимо всего этого существует также сценарий возникновения этой ошибки —

Когда вы или ваш проект библиотеки определяете собственный атрибут int attr.xml, вы используете эти атрибуты в своем файле макета без определения пространства имен.

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

xmlns:android="http://schemas.android.com/apk/res/android"

Затем убедитесь, что все атрибуты в вашем файле shoud начинаются с

android:ATTRIBUTE-NAME

Вам нужно идентифицировать, если часть вашего attirbute не начинается с чего-то другого, кроме android: ATTRIBUTE-NAME, например

temp:ATTRIBUTE-NAME

В этом случае у вас есть этот «temp» также как пространство имен, как правило, включая —

xmlns:temp="http://schemas.android.com/apk/res-auto"

Anuj Garg
10 дек. 2014, в 06:41

Поделиться

В моем случае ошибка не вызвана каким-либо из перечисленных выше проблем пространства имен xml. Вместо этого это было расположение атрибута android:id — он должен был быть первым элементом в объявлении конкретного элемента.

Итак, это:

<TextView android:layout_width="fill_parent" 
      android:layout_height="wrap_content"
      android:id="@+id/bottomtext" 
      android:singleLine="true" />

… нужно прочесть вот так:

<TextView android:id="@+id/bottomtext" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"
      android:singleLine="true" />

okredo
15 июль 2012, в 03:35

Поделиться

Обычно это происходит со мной, когда я пропускаю андроид — я просто набираю ororid или похожий, и это не очевидно на первый взгляд, особенно после многих часов программирования, поэтому я просто выполняю поиск по «андроиду» один за другим и вижу, поиск пропускает один тег — если это так, то у меня есть близкий взгляд, и я вижу, где была опечатка.

Nenad Bulatovic
12 дек. 2014, в 08:34

Поделиться

Ещё вопросы

  • 0Лучший анализатор XML с поддержкой запросов / ответов SOAP
  • 1Как отобразить арабские данные в FPDF?
  • 0Превратить текст шрифта в растровую графику?
  • 0Максимизация ожиданий в opencv
  • 1Сравнение списков и значений, которые существуют в одном, а не в другом
  • 0Angular: Как разделить (разделить) скрипт контроллера? [Дубликат]
  • 1fabric.js не может выровнять текст с textAlign
  • 0$ _POST и манипулирование кодом
  • 0$ jasmine test не определен
  • 0DSO ссылается на скрытый символ fstat64 в /usr/lib/libc_nonshared.a(fstat64.oS)
  • 1Android AudioRecord фильтр диапазона частот
  • 0PHP таймер для отправки электронной почты один раз, когда таймер заканчивается
  • 0Распечатка элементов в списке
  • 0Вставка формы PHP в Mysql, почта и загрузка в той же форме
  • 0Мой JavaScript не проверяет радиовходы моей формы правильно
  • 1Android AsyncTask Pub Sub to Context?
  • 0отключить выбор значения после выбора значения из одного тега выбора
  • 0Использование погодного API
  • 0Javascript window.open по ссылке не работает в PHP
  • 0Ruby On Rails, как удалить пользователя и использовать связанные данные во всех связанных моделях
  • 0SQL, как получить результат между набором дат, не зная конкретной даты?
  • 0AngularJS — снятие флажка
  • 1Похоже, плагин Android SDK сильно влияет на Eclipse
  • 0HTML: сделать все 3 столбца равными по высоте (автоматическое изменение размера)
  • 1Как повернуть изображение в p5.js
  • 1httpWebRequest Скачать и проанализировать файл Excel?
  • 0Почему каждый раз для локальной переменной выделяется один и тот же адрес?
  • 1Как оживить взгляды?
  • 1Разрезать ряды панд между двумя массивами
  • 0Как мне избавиться от пустого пространства по бокам моего сайта? Повторите фон? изменить размер div? Я заблудился
  • 0Localhost и ионный вид
  • 0Получить значение из динамически сгенерированного массива
  • 0Безопасно ли отображать сообщения об ошибках SQL на вашем сайте? (MySQLi)
  • 1Добавление записей в столбцы даты и времени Pandas в Python
  • 1Сортировать заголовки столбцов в сетке данных wpf из xaml
  • 0Лучшая практика: локализация сайтов, содержащих HTML
  • 1Какие аргументы в функции подходят керасам?
  • 1Нерыночная публикация контента
  • 0угловой ответ js json захват различных совпадений (шаблон для соответствия всем типам ответов)
  • 1mp3transform | Воспроизведение (mp3) в отдельной теме
  • 1Могу ли я создать макет, используя XML-файл и код в упражнении?
  • 0Выберите отдельные значения в одну результирующую запись в виде списка через запятую
  • 0Данные формы не отправляются для последующей обработки PHP
  • 1Получить релевантный упорядоченный результат из текстового запроса в коллекции MongoDB с помощью драйвера C #
  • 0Как найти функцию звонящего при нахождении в строгом режиме
  • 0iframe показывает другое значение src
  • 1Закладка JavaFX отсутствует в диспетчере платформ Java Netbeans 8.0
  • 0PyMySQL, MySQL, Python: форматирование строк
  • 1эквивалент printf для Android dev?
  • 1Внезапный сбой Anaconda / Spyder и ошибка запуска: проблема с сокетом и / или ошибка ImportError

After adding scrollview to my xml file i am getting error at 4th line. I have tried moving xmlns:android="http://schemas.android.com/apk/res/android" but still getting the same error.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<RelativeLayout
android:id="@+id/RelativeLayout01"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.easy.convert.MainActivity" >

<ImageButton
    android:id="@+id/btnbitsbytes"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="25dp"
    android:background="#00000000"
    android:gravity="center"
    android:src="@drawable/btnbitsbytes" />

<ImageButton
    android:id="@+id/btnmassweight"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/btnbitsbytes"
    android:layout_below="@+id/btnbitsbytes"
    android:layout_marginTop="14dp"
    android:background="#00000000"
    android:src="@drawable/btnmassweight" />

<ImageButton
    android:id="@+id/ButtonConvert"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/btnmassweight"
    android:layout_below="@+id/btnmassweight"
    android:layout_marginTop="14dp"
    android:background="#00000000"
    android:src="@drawable/btnlength" />

<ImageButton
    android:id="@+id/imageButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/ButtonConvert"
    android:layout_below="@+id/ButtonConvert"
    android:layout_marginTop="14dp"
    android:background="#00000000"
    android:src="@drawable/btntemperature" />

<ImageButton
    android:id="@+id/imageButton4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/imageButton3"
    android:layout_below="@+id/imageButton3"
    android:layout_marginTop="15dp"
    android:background="#00000000"
    android:src="@drawable/btndistance" />

<ImageButton
    android:id="@+id/imageButton5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageButton4"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="22dp"
    android:background="#00000000"
    android:src="@drawable/btnaboutus" />

</RelativeLayout>
</ScrollView>


Remove xmlns:android="http://schemas.android.com/apk/res/android" for RelativeLayout. That is need only for the root element ie ScrollView

<RelativeLayout
android:id="@+id/RelativeLayout01"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
>

Remove this

tools:context="com.easy.convert.MainActivity"

or add xmlns:tools="http://schemas.android.com/tools"

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/ScrollView01"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 tools:context="com.easy.convert.MainActivity">

Edit:

xmlns:android="http://schemas.android.com/apk/res/android

is the xml name space for android.

 xmlns:tools="http://schemas.android.com/tools"

http://schemas.android.com/tools is the namespace uri and the prefix is tools. You can find a list of tools attribute @

http://tools.android.com/tech-docs/tools-attributes

Понравилась статья? Поделить с друзьями:
  • Error parsing timestamp
  • Error parsing the server clients xml file
  • Error parsing the response to json
  • Error parsing remote folder listing
  • Error parsing pcc subspaces from pcct astra linux