válida una subido studio has generate generar firmar firma debug crear con android android-studio apk translation

una - generate keystore android



¿Cómo firmar APK en Android Studio incluso con cadenas no traducidas? (7)

A mí me parece que Lint está impidiendo la exportación de la APK, y que la razón es que no traduje todas las cadenas. ¿Es eso cierto?

Si. La opción predeterminada es lintOptions.abortOnError = true

¿Alguien puede ayudarme por favor?

Debe abrir el archivo build.gradle ubicado en el módulo principal del proyecto o la carpeta genérica si no tiene un módulo. Luego agregue las líneas sugeridas:

android { lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } }

Algunas advertencias de Lint se convierten por defecto en estudio como errores, en realidad no sé por qué, pero en términos de traducciones, supongo que es una forma de "detener" la publicación de una aplicación que indica que la traducción está incompleta debido a adiciones de último minuto de algunos textos

Con lintOptions checkReleaseBuilds abortOnError , configura la comprobación de Lint para que no se ejecute para las versiones de lanzamiento y tampoco se detenga si se encuentra un "error". A continuación, explico dónde se puede encontrar la configuración de errores de pelusa, por lo que si desea ir más allá, puede ir un paso adelante y leerlos uno por uno. Algunos de ellos proporcionan instrucciones útiles para optimizaciones de código.

¿Cómo puedo solucionar esto, para que Lint me muestre solo advertencias? o un diálogo de confirmación si estoy seguro de que quiero hacerlo?

También hay una opción en la configuración de Android Studio para cambiar cualquier error de pelusa a advertencia de pelusa, pero nunca lo pruebo. Por lo general, recurro a la solución de gradle.

La opción se encuentra en Settings > Inspections > Android Lint . Para encontrar fácilmente la Configuración abierta y en la búsqueda (ubicada en la parte superior) escriba Lint translation allí puede cambiar las opciones de traducción que aparecen a la izquierda, desde errores hasta advertencias.

Otra opción si sus cadenas de error nunca serán traducidas es agregar a sus tools:ignore="MissingTranslation" archivos de cadena XML tools:ignore="MissingTranslation" en el elemento raíz o en cada cadena no traducible.

Antecedentes

Recientemente migré mi aplicación a Android-Studio. Tuve algunos problemas para hacerlo, pero finalmente los superé.

El problema

Por alguna razón, en Android Studio, cuando intento firmar un APK, recibo muchos errores que se ven así:

Error:(16) Error: "..." is not translated in "de" (German), "el" (Greek), "iw" (Hebrew) [MissingTranslation]

(donde "..." es una cadena)

En la parte inferior, después de muchos errores de este tipo, veo esto:

Error:Execution failed for task '':app:lintVitalRelease''. > Lint found fatal errors while assembling a release target. To proceed, either fix the issues identified by lint, or modify your build script as follows: ... android { lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } } ...

La pregunta

No estoy seguro de qué está mal y cómo puedo solucionarlo. En Eclipse lo hice muy fácilmente. Las traducciones faltantes no deberían impedirme firmar un APK ...

A mí me parece que Lint está impidiendo la exportación de la APK, y que la razón es que no traduje todas las cadenas. ¿Es eso cierto?

¿Alguien puede ayudarme por favor? ¿Cómo puedo solucionar esto, para que Lint me muestre solo advertencias? o un diálogo de confirmación si estoy seguro de que quiero hacerlo?


FWIW: Si no planea admitir otros idiomas, no necesita deshabilitar las comprobaciones de pelusas. A veces, la configuración de su proyecto (o una biblioteca que está importando) puede haber incluido accidental o intencionalmente una configuración para admitir idiomas adicionales al declarar una carpeta de valores para ese idioma como este, por ejemplo:

<your project source folder>/main/res/values-ar

Este fue mi caso, así que simplemente eliminé la carpeta. Pero si no tiene control sobre la biblioteca infractora, una opción es deshabilitar lint abortOnError como se indica en la respuesta aceptada, o encontrar una manera de excluir de alguna manera las carpetas ''importadas por la biblioteca''. Para la última opción puedes comenzar here


La forma más limpia de resolver el problema es deshabilitar las comprobaciones de Lint de las traducciones faltantes solo para las versiones de lanzamiento.

Para hacerlo, agregue "deshabilitar ''MissingTranslation''" a su archivo build.gradle como se muestra a continuación:

android { buildTypes { release { lintOptions { disable ''MissingTranslation'' } } } }


Puede intentar abrir el "Editor de traducciones" y establecer la cadena "..." como "No traducible". También debe eliminar todas las traducciones de esta cadena.


hay muchas soluciones pero intenté

<string name="hello" translatable="false">hello</string>

Es el atributo de ignorar del espacio de nombres de herramientas en su archivo de cadenas, como sigue:

<?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation" > <!-- your strings here; no need now for the translatable attribute --> </resources>

y del Gradle

release { lintOptions { disable ''MissingTranslation'' } }

y

android { lintOptions { disable ''MissingTranslation'' } }


Manera simple de resolver este error

Simplemente agregue el siguiente código para agregar "deshabilitar ''MissingTranslation''" a su archivo build.gradle como se muestra a continuación:

... android { lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } } ...

O también puede agregar esto:

android { buildTypes { release { lintOptions { disable ''MissingTranslation'' } } } }


Trabajando

buildTypes { release { lintOptions { checkReleaseBuilds false abortOnError false } minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } }