versión - id de aplicacion android
Error: Combinación de prefijos y espacios de nombres sospechosos[NamespaceTypo] cuando intento crear APK firmado (4)
El espacio de nombres de las tools
debe usar para las herramientas de vista previa de xml en el estudio de Android. Por ejemplo, si está probando una vista que está oculta de manera predeterminada, pero desea verla en su vista previa, debe usar tools:visibility=visible
.
El espacio de nombres de la app
, hasta donde yo sé, se usa para agregar sus vistas y diseños personalizados al espacio de nombres del xml al que desea agregar sus vistas.
Entonces, todas sus respuestas son correctas, pero creo que nadie explicó qué hacen los espacios de nombres. Entonces para la convención recomiendo usarlos así:
xmlns:yourAppName="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
Busqué en Google mi problema pero no puedo encontrar una solución.
Cuando intento crear una APK firmada, aparece este error:
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
Este es el fragmento de este archivo de diseño:
<?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">
Sus primeras dos líneas del código xml son incorrectas. El archivo xml completo debería verse de la siguiente manera:
<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">
Las primeras 2 líneas son la declaración del archivo xml. Aunque puede ver el diseño real de la página en la vista de diseño, el diseño en sí todavía tendría problemas cuando se construye, ya que necesita la etiqueta de herramientas xml.
El objetivo de este espacio de nombres es poder registrar información en archivos XML y quitar esa información cuando la aplicación se empaqueta de modo que no haya penalización en el tiempo de ejecución ni en el tamaño de la descarga. Es un espacio de nombres XML de Android dedicado.
Espero que esto ayude :)
Tuve el mismo error. Mi problema es que Android Studio coloca automáticamente un xmlns en mi pestaña de diseño en lugar de la etiqueta de vista raíz cuando usa el enlace de datos.
En otras palabras, cuando tengo Android Studio para resolver el prefijo de la app
, hace esto:
<?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 -->
...
cuando debería haber hecho esto:
<?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}">
...
cambie el código xmlns: app = "http://schemas.android.com/tools" con esto:
xmlns:app="http://schemas.android.com/apk/res-auto"
Hizo que el mío funcionara.