Error ': app: lintVitalRelease' al generar apk firmado


238

Intenté cargar mi apk en Google Play y encontré un mensaje de error: "Subiste un APK depurable. Por razones de seguridad, debes deshabilitar la depuración antes de que pueda publicarse en Google Play. Obtén más información sobre los APK depurables".

Luego escribí android:debuggable="false"en mi manifiesto e intenté nuevamente. He encontrado el mismo error, así que configuré la variante de compilación de mi módulo para liberarlo e intenté generar una apk nuevamente, pero esta vez, se genera este error:

Error:Gradle: 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
      }
  }
  ...

38
Todas las respuestas parecen ser no verificar errores o no abortar, pero ¿qué hay de encontrar el problema y corregirlo? Android Studio no muestra información sobre lo que está mal ... ¿Alguien pudo arreglar esto sin ignorar los errores?
Federico Alvarez

stackoverflow.com/questions/43203415/… vaya a esta página fr respuesta. su trabajo para mí
Halim Bezek

55
"pero ¿qué hay de encontrar el problema y corregirlo?" Pensé lo mismo, pero siempre pasé por alto la pestaña 'Resultados de inspección' en la barra inferior y también construí el contenido de la carpeta \ report. Por favor, compruebe.
PravyNandas

1
la carpeta build / report es un muy buen consejo. Para mí, el problema era la falta de traducciones, y estaba claro en el informe html.
Pete

en el error google te da la solución, ¿por qué no intentaste esto? Al principio trate de entender el error y el mensaje de error
Mafujul

Respuestas:


393

No recomendaría desactivar los controles de pelusa, están ahí por una razón. En cambio, verifique cuál es el error y corríjalo.

El informe de error se guarda en [app module]/build/reports/lint-results-yourBuildName-fatal.html. Puede abrir este archivo en un navegador para leer acerca de los errores.

Sería bueno si Gradle pudiera aclarar un poco más dónde se genera el informe de error.


8
De acuerdo, ¡es mucho mejor corregir el error! También es posible generar el informe manualmente con gradlew linto a través de un IDE, consulte developer.android.com/studio/write/lint
Anigif

3
Sí, dirección correcta. Además, los informes de errores en ese html se describieron bien y los errores se abordaron bien, ¡así que los corregí con facilidad!
CodeToLife

66
sí, es muy molesto cuando dice fix the issues identified by lintpero en realidad no muestra esos errores o la ruta para informar ...
usuario25

77
Esta debe ser la respuesta aceptada. Deshabilitar la pelusa no es una buena solución.
slhddn

1
en mi caso el error fue MissingTranslation: Incomplete translation- pregunta para Google: ¿por qué no se muestra esto en Android Studio? Se llama integrated development environmentpor una razón.
Alguien en alguna parte

187

Tuve este problema y lo resolví agregando:

lintOptions { 

    checkReleaseBuilds false

}

a mi build.gradlearchivo dentro de la android{ }sección.       


Esto no tiene ningún otro efecto secundario en la aplicación, ¿verdad?
committedandroider

10
No, apagar la pelusa no causará ningún efecto secundario en la aplicación. Lint es una herramienta de análisis de código y el error mencionado aquí causado al establecer la propiedad depurable se puede ver en detalle en el archivo "lint-results-release-fatal.html" en la carpeta de compilación / salidas.
error1337

Tuve problemas para agregar una sección de Android {} a mi archivo build.grade de nivel superior; así que seguí otros consejos y agregué esto a mi archivo build.grade en el nivel de la aplicación, es decir, una carpeta más abajo, donde la sección de Android ya estaba presente.
Martin Zaske

13
Advertencia: Esto simplemente deshabilita las comprobaciones de pelusas. Sería mejor al menos echar un vistazo a los errores antes de deshabilitarlos. En mi caso, se trataba de algunas cadenas faltantes para idiomas específicos. Presione "Analizar" -> "Inspeccionar código .."
Markus

2
No recomiendo esto En mi caso, ignorar estas advertencias provocaría bloqueos en tiempo de ejecución causados ​​por la falta de recursos. Revise lint-results-release-fatal.html y solucione todos los problemas.
Paweł Nadolski el

76

si desea averiguar el error exacto, vaya a la siguiente ruta en su proyecto: /app/build/reports/lint-results-release-fatal.html(or .xml). La forma más fácil es si va al archivo xml, le mostrará exactamente cuál es el error, incluida su posición en la clase de Java o en el archivo xml. Desactivar los controles de pelusa no es una buena idea, están ahí por una razón. En cambio, vaya a:

    /app/build/reports/lint-results-release-fatal.html or 
    /app/build/reports/lint-results-release-fatal.xml

y arreglarlo


2
Esto es mucho mejor que simplemente ignorar los errores y seguir adelante. Y el archivo HTML es tan fácil de entender el problema.
John Pang

Encontré el problema en /app/build/reports/lint-results-release-fatal.xml. gracias
Bukunmi

Salvavidas Problema resuelto en literalmente segundos, después de mirar el archivo xml.
Roman Rozenshtein

50

Asegúrate de haber definido todas las traducciones en todos los string.xmlarchivos


1
ese era mi problema ... agregar traducciones faltantes soluciona el problema gracias
Hatem Badawi

Funcionó para mí, faltaban algunas traducciones.
Himanshu Rawat

40

En caso de que intente localizar dónde está el problema, encontré el mío en la siguiente ruta de mi proyecto: /app/build/reports/lint-results-release-fatal.html (o .xml).

¡Espero que esto ayude!


Ambos archivos están vacíos para mí.
m9m9m

35

Me he enfrentado al mismo problema al crear apk firmado desde el estudio de Android. Solo cambio un poco el cambio en el archivo build.gradle dentro de Android {}

lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

Esto funcionó para mí. Tuve un problema similar Falló la ejecución de la tarea ': aplicación: pelusa *** Release'. > org.picocontainer.MutablePicoContainer.registerComponentInstance (Ljava / lang / Object;) Lorg / picocontainer / ComponentAdapter;
Nelson Ramirez

24

Cómo encontrar detalles de error

Anylyze -> Inspeccionar código

ingrese la descripción de la imagen aquí

Luego, en los resultados de la inspección, verá un error

ingrese la descripción de la imagen aquí

En mi caso, la compilación falló debido a una referencia javadoc no resuelta en Google IAP 😐


3
Esta debería ser la respuesta aceptada. Para todas las personas que sugirieron desactivar la comprobación de pelusas, eso es solo una solución. Todavía es mejor corregir el error que omitirlo. Omitir las comprobaciones de pelusas solo debe hacerse en casos muy específicos y no todo el tiempo. OTRA VEZ, QUE DEBE HACERSE DE FORMA RARA O INCLUSO.
Archie G. Quiñones

20
***Try this***

 buildTypes {
        release {
            lintOptions {
                disable 'MissingTranslation'
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            signingConfig signingConfigs.release
        }
    }

18

Puede encontrar más información eligiendo ensamblar desde la pestaña de construcción de gradle:ingrese la descripción de la imagen aquí


55
esta es la respuesta real, vaya al ensamblaje en la aplicación, en la ventana de gradle y ejecútelo haciendo doble clic, Android studio le dirá exactamente lo que estaba apareciendo.
Wajid Ali

1
Oh dios mio ... gracias! ¡Ese me ahorró mucho tiempo! : D
thinklinux

Lo obtuve 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 }y lo agregué, pero recibí el mismo error cada vez que construyo un lanzamiento
Oliver D

11

Pruebe estas 3 líneas en su archivo app.gradle.

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
}

@justColbs podría enfrentarte a otro problema. Publicar su problema con log cat puede ser una guía adecuada para usted.
Rehan Sarwar

8

Mi problema era una traducción que faltaba. Tenía un settings.xml que no se tradujo porque no era necesario, por lo que tuve que agregar "traducible =" falso "a las cadenas:

Esta cadena no necesita traducción


8

Hola chicos, esto funcionó para mí, solo modifico mis BuildTypes de esta manera:

buildTypes {
        release {
            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
                }
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

7

Simplemente encuentre la razón del error aquí y corríjala.

yourProject/app/build/reports/lint-results-release-fatal.xml

1
debe saber qué error exacto y recertificar. gracias.
Asesha George

Encontré TargetSdkVersion No Longer Supported: Google Play requires that apps target API level 26 or higher.en mi registro, es decir, no puedo establecer targetSdkVersion25.
Fruta

6

Mi problema era una traducción que faltaba. Tenía un settings.xml que no se tradujo porque no era necesario, por lo que tuve que agregar "traducible =" falso "a las cadenas:

<string translatable="false" name="stringname">This string doesn't need translation</string>

4

Como muchas personas han sugerido, siempre es mejor tratar de corregir el error desde la fuente. verifique el archivo generado por pelusa

/app/build/reports/lint-results-release-fatal.html

lea el archivo y se le guiará hacia el origen del error. Echa un vistazo a la mía: el error provino de una restricción de vista incorrecta.


4

Resuelva este problema Utilizando esto en el archivo build.gradle (aplicación) Inside main main Android {inside}

  buildTypes {
      //  crunchPngs false // or true   when png error
        release {
            lintOptions {
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

3

Prueba el siguiente código

buildTypes {
    release {
        lintOptions {
            disable 'MissingTranslation'
            checkReleaseBuilds false
            abortOnError false
        }
        minifyEnabled false
        signingConfig signingConfigs.release
    }
}

3

ingrese la descripción de la imagen aquí

Agregue esto dentro de android {} build.gradle (Módulo: Aplicación)

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
}

2

Windows -> referencias -> Android-> comprobación de errores de pelusa.

un tick Ejecutar error completo .......

ingrese la descripción de la imagen aquí


1
Muy bonita, pero ¿de dónde es esta ventana, por favor? No pude encontrarlo en Android Studio ...
Martin Zaske

2

Vaya a build.gradle (Módulo: aplicación)

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
}

1

Elimine esa declaración de su manifiesto por completo, Eclipse se encargará de eso por usted sobre la marcha.


0

Debe agregar el código en el archivo gradle de nivel de proyecto para generar sobrescritura de apk sobre errores


0

En mi caso, el problema estaba relacionado con el nivel mínimo de API objetivo requerido por Google Play. Se estableció menos de 26.

El problema desapareció cuando configuré el nivel mínimo de API objetivo en 26.


0
    lintOptions {
      checkReleaseBuilds false
      abortOnError false
    }

El código anterior puede solucionar el problema al ignorarlo, pero también puede provocar el bloqueo de la aplicación.

La buena respuesta está en el siguiente enlace:

Error al generar apk firmado


-2

Si agrega app.gradle en Android {

lintOptions {

    quiet true
    abortOnError false
}

}

Conseguirá trabajo


Creo que es mejor corregir las pelusas y los errores, si es posible, en lugar de omitir el cheque
Piero
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.