Ошибка: подозрительное пространство имен и префиксная комбинация при попытке создания подписанного APK

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

Error:(6) Error: Suspicious namespace and prefix combination [NamespaceTypo] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Explanation for issues of type "NamespaceTypo": track these down. xmlns:app="http://schemas.android.com/tools" obscure error messages. This check looks for potential misspellings to help Accidental misspellings in namespace declarations can lead to some very 

Это фрагмент этого файла макета:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fab="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:app="http://schemas.android.com/tools" app:layout_behavior="@null" android:layout_gravity="bottom|right"> 

Solutions Collecting From Web of "Ошибка: подозрительное пространство имен и префиксная комбинация при попытке создания подписанного APK"

Измените код xmlns: app = "http://schemas.android.com/tools&quot; следующим образом:

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

Это сделало мою работу.

Ваши первые две строки кода xml неверны. Весь XML-файл должен выглядеть следующим образом:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" xmlns:app="http://schemas.android.com/tools" app:layout_behavior="@null" android:layout_gravity="bottom|right"> 

Первые 2 строки являются объявлением xml-файла. Хотя вы можете просмотреть фактический макет страницы в представлении дизайна, макет itslef все равно будет иметь проблемы при построении, так как ему нужен тег xml tools.

Цель этого пространства имен состоит в том, чтобы иметь возможность записывать информацию в XML-файлы и лишить эту информацию, когда приложение упаковано, чтобы не было времени выполнения или размера загрузки. Это специальное пространство имен Android.

Надеюсь это поможет 🙂

Пространство имен tools должно использоваться для инструментов предварительного просмотра xml на студии android. Например, если вы проверяете представление, которое по умолчанию скрыто, но вы хотите увидеть его на своем предварительном просмотре, вы должны использовать tools:visibility=visible .

Пространство имен app , насколько мне известно, используется для добавления ваших пользовательских представлений и макетов в пространство имен xml, которое вы хотите добавить в свои представления.

Итак, все ваши ответы правильные, но я думаю, никто не объяснил, что делают пространства имен. Поэтому для конвенции я рекомендую использовать их следующим образом:

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

У меня была такая же ошибка. Моя проблема заключалась в том, что Android Studio автоматически помещает xmlns в мою вкладку макета вместо тега корневого представления при использовании привязки данных.

Другими словами, когда у меня установлен Android Studio app префикс app он сделал следующее:

 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:custom="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/tools"> <!-- added namespace here ... --> <data> <variable name="viewModel" type="com.example.ViewModel"/> </data> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <LinearLayout android:layout_width="..." android:layout_height="..." android:orientation="vertical" app:backgroundResource="@{viewModel.someResource}"> <!-- ... when trying to resolve app --> ... 

Когда он должен был это сделать:

 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:custom="http://schemas.android.com/apk/res-auto"> <data> <variable name="viewModel" type="com.example.ViewModel"/> </data> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/tools" <!-- should have added here --> android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <LinearLayout android:layout_width="..." android:layout_height="..." android:orientation="vertical" app:backgroundResource="@{viewModel.someResource}"> ...