& # 39;应用:lintVitalRelease& # 39;生成签名apk时出错

我试图在谷歌播放上上传我的apk,遇到了一个错误消息:“你上传了一个可调试的apk。”出于安全原因,您需要在谷歌播放中发布调试之前禁用调试。了解更多关于可调试apk的信息。

然后我在我的manifest中写入android:debuggable="false",并再次尝试。我遇到了同样的错误,所以我已经从我的模块中设置了构建变体,并尝试再次生成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
}
}
...
209653 次浏览

从您的清单中完全删除该语句,Eclipse将为您动态地处理它。

我遇到了这个问题,并通过添加以下内容来解决:

lintOptions {


checkReleaseBuilds false


}

到我的build.gradle文件中的android{ }部分。

Windows ->引用->Android->lint错误检查。

un tick运行完全错误.......

enter image description here

我在从android工作室创建签名apk时也遇到了同样的问题。我只是在android {}内的build.gradle文件上做了一点点更改

lintOptions {
checkReleaseBuilds false
abortOnError false
}

您应该在项目级别的gradle文件中添加用于生成apk覆盖错误的代码

***Try this***


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

在你的app.gradle文件中试试这3行。

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
}

确保在所有string.xml文件中定义了所有的翻译

我不建议关掉棉绒检查,它们的存在是有原因的。相反,检查错误是什么并修复它。

错误报告保存到[app module]/build/reports/lint-results-yourBuildName-fatal.html。您可以在浏览器中打开此文件以阅读有关错误的信息。

如果Gradle能让错误报告生成的位置更加清晰,那就太好了。

为了防止您试图定位问题在哪里,我在我的项目的以下路径中发现了我的:/应用程序/构建/报告/ lint-results-release-fatal.html(或.xml)。

希望这能有所帮助!

我的问题是缺少翻译。我有一个settings.xml没有被翻译,因为它是不需要的,所以我必须添加"translatable="false"到字符串:

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

如果你想找出确切的错误,请到项目中的以下路径:/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是不同的。首先,你需要在build的Android部分设置以下代码。应用程序文件夹的分级。

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

然后从IDE运行lint (Analyze >Inspect Code)或从命令行执行,如下所示。

      $ ./gradlew lintDebug

...

输出会在app文件夹中打印lint-baseline.xml文件的位置,但有时也会在app/src文件夹中打印/app/lint-baseline.xml文件

我的问题是缺少翻译。我有一个settings.xml没有被翻译,因为它不需要,所以我必须将"translatable="false"添加到字符串中:

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

你可以从gradle build选项卡:enter image description here中找到更多信息

2022年编辑:

点击大象按钮就可以跑了:

gradle assembleDebug

尝试下面的代码

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

在构建中使用此方法解决此问题。gradle (app)文件在主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'
}
}

这对我来说很管用,我只是像这样修改了我的BuildTypes:

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

进入build.gradle(模块: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
}

如果你在android下添加app.gradle {

lintOptions {


quiet true
abortOnError false
}

它会起作用

如何查找错误细节

Anylyze ->检查代码

enter image description here

然后在Inspection Results中您将看到一个错误

enter image description here

在我的情况下,由于谷歌IAP😐中未解决的javadoc引用,构建失败

在我的案例中,问题与谷歌Play所要求的最低目标API级别有关。它被设定为小于26。

当我将最低目标API级别设置为26时,问题消失了。

    lintOptions {
checkReleaseBuilds false
abortOnError false
}

上面的代码可以通过忽略它来修复这个问题,但它也可能导致应用程序崩溃。

好的答案在下面的链接中:

当生成签名apk时错误

只要在这里找到错误的原因并修复它。

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

正如许多人所建议的那样,从源头尝试并修复错误总是更好的。检查绒布生成文件

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

阅读该文件,您将被引导到错误的来源。检查我的:错误来自不适当的视图约束。

enter image description here

添加到android {} build.gradle(模块:应用程序)< / p >

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
}

当我将Android Gradle Plugin Version更新为4.0.1,将Gradle version更新为6.1.1时,我遇到了这个问题。

如果有人赶时间,就把Gradle Plugin Version降级为3.6.3,把Gradle version降级为5.6.4。这对我很管用。

不要禁用lint选项

检查Lint报告中的错误和警告

路径:

YourAppProjectFolder \ app \制造\报告

解决所有错误和警告:)

升级gradle分发url到,

// android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip

以及升级buildscript ->依赖→类路径,

// android/build.gradle
classpath 'com.android.tools.build:gradle:7.0.0'

为我修正了这个问题