Android

':app:lintVitalRelease' error when generating signed apk

ошибка ': app: lintVitalRelease' при генерации подписанного apk

Я попытался загрузить свой apk в Google Play и столкнулся с сообщением об ошибке: "Вы загрузили отлаживаемый APK. По соображениям безопасности вам необходимо отключить отладку, прежде чем он сможет быть опубликован в Google Play. Узнайте больше об отладочных APK-файлах."

Затем я написал android:debuggable="false" в своем манифесте и попробовал снова. Я столкнулся с той же ошибкой, поэтому я установил для варианта сборки из моего модуля значение release и попытался сгенерировать apk снова, но на этот раз генерируется эта ошибка:

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
}
}
...
Переведено автоматически
Ответ 1

Я бы не рекомендовал отключать проверки на наличие ворсинок, они существуют не просто так. Вместо этого проверьте, в чем ошибка, и исправьте ее.

Отчет об ошибке сохраняется в [app module]/build/reports/lint-results-yourBuildName-fatal.html. Вы можете открыть этот файл в браузере, чтобы прочитать об ошибках.

Было бы неплохо, если бы Gradle мог немного прояснить, где генерируется отчет об ошибке.

Ответ 2

У меня была эта проблема, и я решил ее, добавив:

lintOptions { 

checkReleaseBuilds false

}

в мой build.gradle файл в android{ } разделе.

Ответ 3

если вы хотите узнать точную причину ошибки, перейдите по следующему пути в вашем проекте: /app/build/reports/lint-results-release-fatal.html (или .xml). Самый простой способ - если вы перейдете к XML-файлу, он покажет вам, в чем именно заключается ошибка, включая ее местоположение в вашем java-классе или XML-файле. Отключать проверки на наличие ворса - плохая идея, они существуют не просто так. Вместо этого перейдите на:

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

и исправьте ее.

В Kotlin все по-другому. Сначала вам нужно установить следующий код в разделе Android build.gradel папки app.

     android {
:
lintOptions {
baseline(file("lint-baseline.xml"))
}
}

Затем запустите lint из IDE (Анализ> Проверка кода) или из командной строки следующим образом.

      $ ./gradlew lintDebug

...

На выходе выводится местоположение файла lint-baseline.xml в папке приложения, но иногда также и в папке app / src /app/lint-baseline.xml

Ответ 4

Убедитесь, что вы определили все переводы во всех string.xml файлах

java android gradle