Error en el archivo strings.xml en Android

He declarado una cadena larga en string.xml de una aplicación.

Declarado así

 PLEASE READ THESE TERMS OF USE CAREFULLY BY ACCESSING THIS ................. 

Pero esto da el siguiente error:

 error: Apostrophe not preceded by \ (in PLEASE READ THESE TERMS OF USE CAREFULLY 

publica tu cadena completa Sin embargo, supongo que hay un apóstrofo (‘) personaje en tu cadena. reemplácelo con (\ ‘) y solucionará el problema. por ejemplo,

 //strings.xml  Hey Mr. Android, are you stuck? Here, I\'ll clear a path for you.  

Árbitro:

http://www.mrexcel.com/forum/showthread.php?t=195353

https://code.google.com/archive/p/replicaisland/issues/48

Solución

Los apóstrofos en strings.xml deben escribirse como

 \' 


Ejemplo

En mi caso, tuve un error con esta cadena en mi strings.xml y lo arreglé.

 Most arguments can be ended with three words, "I don\'t care". 

Aquí puede ver que mi aplicación se comstack correctamente con ese código.

enter image description here

Aquí está la cadena real en mi aplicación.

enter image description here

Tienes que poner \ antes de un apóstrofo. Como este \ ‘, también compruebe que está editando strings.xml y no values.xml (android studio lo dirige a este archivo cuando muestra el error). Porque si edita values.xml e intenta comstackr de nuevo, el error persiste. Esto me estaba sucediendo recientemente.

https://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

Escape de apóstrofes y citas

Si tiene un apóstrofo o una cita en su cadena, debe escapar de ella o incluir toda la cadena en el otro tipo de comillas adjuntas. Por ejemplo, aquí hay algunas picaduras que funcionan y no funcionan:

 "This'll work" This\'ll also work This doesn't work XML encodings don't work 

Uso hebreo (lenguaje RTL) en strings.xml. He buscado manualmente el string.xml para este char: ‘de lo que agregué el escape char \ infront (ahora parece \’) y todavía tengo el mismo error!

Busqué de nuevo el char ‘y reemplacé el char’ con \ ‘(escritura en eng), ya que muestra de derecha a izquierda, parece que’ \ in the strings.xml !!

Problema resuelto.

Puede utilizar equivalente unicode tanto apóstrofo como otros caracteres que no son compatibles con la cadena xml. El equivalente de Apostrophe es “\ u0027”.

1. por error: apóstrofo sin escalar en cuerda

lo que encontré es que la herramienta AAPT2 apunta a la fila incorrecta en xml, a veces. Por lo tanto, debe corregir todo el archivo strings.xml

En Android Studio, en el uso del archivo problemático:

Editar-> buscar-> reemplazar

Luego escriba en el primer campo \ ‘(o \ &,>, \ < , \ ")
en segundo puesto ‘(o &,>, < , ")
luego reemplace cada uno si es necesario. (o “reptlace todo” en caso de que con ‘)
Luego, en el primer campo, vuelva a poner ‘(o &,>, < , ")
y en segunda escritura \ ‘
luego reemplace cada uno si es necesario (o “reemplace todo” en caso de que con ‘)

2. para otros símbolos problemáticos
Uso para comentar cada media parte + reconstrucción hasta que no encuentre el signo equivocado.

Por ejemplo, una palabra escapada “\ update” inesperadamente descarta dicho error 🙂

¿Dónde está su apóstrofo usado cuerda? No puedo encontrar eso. por favor publícalo. Si necesita usar un apóstrofo en su cadena, solo use la secuencia de escape “\” como esta.

did not \ did en XML, solo busque el último elemento de strings.xml.

enter image description here

Creo que la imagen de arriba aclarará tus dudas.