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.
In Kotlin is different. First you need to set the following code in Android section of build.gradel of the app folder.
android {
:
lintOptions {
baseline(file("lint-baseline.xml"))
}
}
Then run lint from the IDE (Analyze > Inspect Code) or from the command line as follows.
$ ./gradlew lintDebug
...
The output prints the location of the lint-baseline.xml file within app folder but sometimes within app/src folder as well /app/lint-baseline.xml
确保您在所有string.xml
文件中定义了所有翻译
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!
I have faced same issue when creating signed apk from android studio. I just change little bit change on build.gradle file inside android {}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
***Try this***
buildTypes {
release {
lintOptions {
disable 'MissingTranslation'
checkReleaseBuilds false
abortOnError false
}
minifyEnabled false
signingConfig signingConfigs.release
}
}
Try These 3 lines in your app.gradle file.
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
}
This worked for me, I just modified my BuildTypes like this:
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'
}
}
My problem was a missing translation. I had a settings.xml that was not translated as it was not needed, so I had to add "translatable="false"
to the strings:
<string translatable="false" name="stringname">This string doesn't need translation</string>
只需在这里找到错误原因并修复它。
yourProject/app/build/reports/lint-results-release-fatal.xml
My problem was a missing translation. I had a settings.xml that was not translated as it was not needed, so I had to add "translatable="false" to the strings:
<string translatable="false" name="stringname">This string doesn't need translation</string>
Solve this Issue Using this in build.gradle (app) File Inside 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'
}
}
As many people have suggested, it is always better to try and fix the error from the source. check the lint generated file
/app/build/reports/lint-results-release-fatal.html
read the file and you will be guided to where the error is coming from. Check out mine: the error came from improper view constraint.
Try below code
buildTypes {
release {
lintOptions {
disable 'MissingTranslation'
checkReleaseBuilds false
abortOnError false
}
minifyEnabled false
signingConfig signingConfigs.release
}
}
Windows -> references ->Android->lint error checking.
un tick Run full error.......
Go to build.gradle(Module:app)
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
}
从清单中完全删除该语句,Eclipse 会即时为您处理。
In my case the problem was related to minimum target API level that is required by Google Play. It was set less than 26.
Issue disappeared when I set minimum target API level to 26.
Don't disable the lint option
Check the Lint Report for error and warning
PATH:
YourAppProjectFolder\app\build\reports
Solve all error and warning:)
您应该在项目级 gradle 文件中添加代码以生成覆盖错误的 apk
lintOptions {
checkReleaseBuilds false
abortOnError false
}
The above code can fix the problem by ignoring it, but it may result in crashing the app as well.
The good answer is in the following link:
This problem came to me when I updated the Android Gradle Plugin Version
to 4.0.1
and the Gradle version
to 6.1.1
.
If someone is in a hurry, just downgrade the Gradle Plugin Version
to 3.6.3
and the Gradle version
to 5.6.4
. It worked for me.
Upgrading gradle distribution url to,
// android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
and upgrading buildscript -> dependencies -> classpath to,
// android/build.gradle
classpath 'com.android.tools.build:gradle:7.0.0'
fixed the issue for me
If you add in app.gradle under android{
lintOptions {
quiet true
abortOnError false
}
}
It will get work
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.