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

  • Android Lint piensa erróneamente que la versión min SDK es 1
  • Suprimir "Identificador no permitido en Android"
  • Lint: ¿Cómo ignorar los errores "<key> no se traduce en <language>"?
  • Anotación de nivel de API de Android para bibliotecas de Android
  • Esta clase de controlador debe ser estática o pueden producirse fugas: IncomingHandler
  • ¿Por qué ContextThemeWrapper está ahora restringido al grupo Support Library?
  • ↑ 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 cómo obtener acceso a los recursos crudos que poner en la carpeta res?
  • Utilizar Locale para obligar a Android a utilizar un archivo strings.xml específico para un idioma no compatible
  • Definición de tamaño de texto para Canvas.drawText () en res / values ​​/ dimens.xml
  • Contenido de Android
  • Uso de Twitter4j en android, obteniendo errores de pelusa en la biblioteca - Referencia de paquete no válida en la biblioteca
  • Evitar Android Lint se queja de cadena no traducida
  • 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.