quot - Error en el archivo strings.xml en Android
strings.xml android studio (8)
He declarado una cadena larga en string.xml
de una aplicación.
Declarado así
<string name="terms">PLEASE READ THESE TERMS OF USE CAREFULLY BY ACCESSING THIS .................</string>
Pero esto da el siguiente error:
error: Apostrophe not preceded by / (in PLEASE READ THESE TERMS OF USE CAREFULLY
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é.
<item>Most arguments can be ended with three words, "I don/'t care".</item>
Aquí puede ver que mi aplicación se compila correctamente con ese código.
Aquí está la cadena real en mi aplicación.
Puede utilizar equivalente unicode tanto apóstrofo como otros caracteres que no son compatibles con la cadena xml. El equivalente de Apostrophe es "/ u0027".
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 compilar de nuevo, el error persiste. Esto me estaba sucediendo recientemente.
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.
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
<string name="terms">
Hey Mr. Android, are you stuck? Here, I/'ll clear a path for you.
</string>
Árbitro:
developer.android.com/guide/topics/resources/…
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:
<string name="good_example">"This''ll work"</string>
<string name="good_example_2">This/'ll also work</string>
<string name="bad_example">This doesn''t work</string>
<string name="bad_example_2">XML encodings don't work</string>
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 :)