Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo detectar errores de variables de recursos en Android Studio (por ejemplo: "% 1 $ s")

Los bloqueos de Android a menudo son causados ​​por un recurso que contiene %1$ s cuando se pretendía %1$s .
Para mi sorpresa, Android Studio no muestra estos errores de sintaxis:

Introduzca aquí la descripción de la imagen

↑ El verdadero error de sintaxis anterior es %1$ s (hace que la aplicación se bloquee), no las elipsis que destaca Android Studio.

¿Cómo comprobar los errores tipográficos de recursos en Android Studio?
Estoy buscando el equivalente de lint --check StringFormatInvalid .

Contexto: Muchas herramientas de traducción semiautomática rompen variables, haciendo que las aplicaciones se bloqueen.

Lo que he intentado, no funciona:

Android Studio Lint Secuencia de formato no válida Destacando las inspecciones de nivel

  • Android Bluetooth IOException: conexión rechazada
  • Configuración de Android studio 1.1.0 minifyEnabled true causando problemas con la aplicación
  • Android termine la actividad actual hace que la aplicación cierre
  • Android - proguard error en el android studio
  • La aplicación de anuncios de Admob se bloquea ocasionalmente en IllegalArgumentException
  • ¿Implementar un editor de texto enriquecido en Android?
  • Lucene en Android
  • ¿Por qué no se llama onRestoreInstanceState después de onStart?
  • 2 Solutions collect form web for “Cómo detectar errores de variables de recursos en Android Studio (por ejemplo: "% 1 $ s")”

    en Intellij es posible crear inspecciones personalizadas. No estoy seguro si es posible en Android Studio.

    Siga el enlace: https://www.jetbrains.com/idea/help/creating-custom-inspections.html

    editar:

    después de seguir los pasos en el enlace que ves en la siguiente imagen mi inspección creada: Introduzca aquí la descripción de la imagen

    En la siguiente imagen se muestra la configuración básica de la inspección: Introduzca aquí la descripción de la imagen

    En las dos imágenes siguientes se ve la configuración de las variables. Sólo el regex utilizado no está listo. Debe escribirlo para la variable general usando (entre $ y. Es un espacio): Introduzca aquí la descripción de la imagen Introduzca aquí la descripción de la imagen

    Todo en strings.xml entre <string> y </string> es simplemente una cadena para Android studio y lint. No identificará errores de sintaxis. Errores de sintaxis / errores tipográficos significa error con código y no cadenas. Tendrá que asegurarse de que estos se escriben por usted mismo o crear su propio script para hacer estas comprobaciones en el archivo string.xml . No hay ningún mecanismo incorporado para identificar el código en cadenas y, a continuación, compruebe si hay errores de sintaxis en ellos.

    La cosa resaltada con elipses está ahí porque es un error gramatical (optimización). Si comete un error ortográfico / gramatical en strings.xml , se resaltará. Ejemplo a continuación:

    Introduzca aquí la descripción de la imagen

    Pero, si tiene la intención de poner en los formatos / código como cadenas que debe ser manejado por su cuenta o utilizando algún script personalizado que tendrá que escribir por sí mismo . O como mencionó @ Rüdiger en su comentario sobre la pregunta, puede escribir casos de prueba de unidad para comprobar la cordura y la integridad de sus cadenas en strings.xml .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.