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
      }
  }
  ...
usuario3716366
fuente
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.

Graydyn Young
fuente
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.       

naile
fuente
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

Josi
fuente
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

Roberto
fuente
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!

Pecolyte Wang
fuente
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
    }
Dhruv Raval
fuente
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 😐

Mikhail
fuente
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
        }
    }
Amit raj
fuente
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í

Mateusz Kaflowski
fuente
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
}
Rehan Sarwar
fuente
@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

Harsh Masand
fuente
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'
        }
    }
DoctorDroid Haití
fuente
7

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

yourProject/app/build/reports/lint-results-release-fatal.xml
Amir Hossein Ghasemi
fuente
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>
tomDev
fuente
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.

Quwaysim
fuente
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'
        }
    }
Keshav Gera
fuente
3

Prueba el siguiente código

buildTypes {
    release {
        lintOptions {
            disable 'MissingTranslation'
            checkReleaseBuilds false
            abortOnError false
        }
        minifyEnabled false
        signingConfig signingConfigs.release
    }
}
Jeque Ahmed Qureshi
fuente
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
}
Panneerchelvam Piratheepan
fuente
2

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

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

ingrese la descripción de la imagen aquí

alguien
fuente
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
}
Kaiffi
fuente
1

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

Eran Goldin
fuente
0

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

Kamal
fuente
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.

mdicosimo
fuente
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

Josi
fuente
-2

Si agrega app.gradle en Android {

lintOptions {

    quiet true
    abortOnError false
}

}

Conseguirá trabajo

Alpesh Sorathiya
fuente
Creo que es mejor corregir las pelusas y los errores, si es posible, en lugar de omitir el cheque
Piero