':app:lintVitalRelease' error when generating signed apk

I've tried to upload my apk on google play and encountered an error message: "You uploaded a debuggable APK. For security reasons you need to disable debugging before it can be published in Google Play. Learn more about debuggable APKs."

Then I wrote android:debuggable="false" in my manifest and tried again. I've encountered the same error, so I've set the build variant from my module to release and tried generated an apk again, but this time, this error is generated:

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

I wouldn't recommend turning off the lint checks, they're there for a reason. Instead, check what the error is and fix it.

The error report is saved to [app module]/build/reports/lint-results-yourBuildName-fatal.html. You can open this file in a browser to read about the errors.

It would be nice if Gradle could make it a little more clear where the error report is generated.

I had this problem and solved it by adding:

lintOptions { 

    checkReleaseBuilds false

}

to my build.gradle file within the android{ } section.       

if you want to find out the exact error go to the following path in your project: /app/build/reports/lint-results-release-fatal.html(or .xml). The easiest way is if you go to the xml file, it will show you exactly what the error is including its position of the error in your either java class or xml file. Turning off the lint checks is not a good idea, they're there for a reason. Instead, go to:

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

and fix it.

Make sure you defined all the translations in all the string.xml files

In case that you may trying to locate where the problem is, I found mine in the following path of my project: /app/build/reports/lint-results-release-fatal.html(or .xml).

Hope this helps!

Comments
  • All answers seem to be either not to check for errors or not to abort on errors, but what about finding the problem and correcting it??? Android Studio shows no information about what is wrong... Any one was able to fix this with out ignoring errors?
  • stackoverflow.com/questions/43203415/… go on this page fr answer. its work for me
  • "but what about finding the problem and correcting it???" I thought same but I always overlooked 'Inspection Results' tab on the bottom bar and also build\report folder contents. Please check.
  • build/report folder is a very good tip. For me the problem was missing translations, and it was clear from the html report.
  • on the error google give you the solution, why didn't you try this???? at first try to understand the error as well as error message
  • Agree, it's much better to correct the error! It is also possible to generate the report manually with gradlew lint or via an IDE, see developer.android.com/studio/write/lint
  • yes, rright direction. Moreover errors report in that html was well described and the errors were addressed ok, so I just corrected them with ease!
  • yes it's very annoying when it says fix the issues identified by lint but doesn't actually shows those errors or path to report...
  • This must be the accepted answer. Disabling lint is not a good solution.
  • in my case the error was MissingTranslation: Incomplete translation - question for Google: why isn't this shown in Android Studio?? It's called a integrated development environment for a reason.
  • This doesn't have any other side effects on the application right?
  • No, turning lint off will not cause any side effects on the application. Lint is a code-analysis tool and the error mentioned here caused by setting the debuggable property can be viewed in detail in the "lint-results-release-fatal.html" file in the build/outputs folder.
  • Had trouble adding an android {} section to my top-level build.grade file; so followed some other advice and added this to my build.grade file at the level of the app, i.e. one folder further down, where the android section was already present.
  • Warning: This simply disables the lint checks. It'd be better to at least take a look on the errors before disabling them. In my case, they were about some missing strings for specific languages. Hit "Analyze" -> "Inspect code .."