Java ';:app:lintVitalRelease&x27;生成有符号apk时出错
我试图在google play上上载我的apk,但遇到一条错误消息:“您上载了一个可调试的apk。出于安全原因,您需要禁用调试才能在google play中发布。了解有关可调试apk的更多信息。” 然后我在清单中编写了Java ';:app:lintVitalRelease&x27;生成有符号apk时出错,java,android,gradle,Java,Android,Gradle,我试图在google play上上载我的apk,但遇到一条错误消息:“您上载了一个可调试的apk。出于安全原因,您需要禁用调试才能在google play中发布。了解有关可调试apk的更多信息。” 然后我在清单中编写了android:debuggable=“false”,然后重试。我遇到了相同的错误,因此我将模块中的构建变量设置为release,并再次尝试生成apk,但这次生成了以下错误: Error:Gradle: Execution failed for task ':app:lintVit
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
}
}
...
完全从清单中删除该语句,Eclipse将在运行中为您处理该语句。我遇到了这个问题,并通过添加以下内容解决了它:
lintOptions {
checkReleaseBuilds false
}
到我的
build.gradle
文件的android{}
部分。Windows->references->android->lint错误检查
取消勾选运行完全错误
从android studio创建签名apk时,我也遇到了同样的问题。我只是在build.gradleandroid{}中的文件上做了一些小改动
lintOptions {
checkReleaseBuilds false
abortOnError false
}
buildTypes {
// crunchPngs false // or true when png error
release {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
您应该在项目级gradle文件中添加代码,以生成apk覆盖错误在app.gradle文件中尝试这三行
***Try this***
buildTypes {
release {
lintOptions {
disable 'MissingTranslation'
checkReleaseBuilds false
abortOnError false
}
minifyEnabled false
signingConfig signingConfigs.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
}
确保您在所有
string.xml
文件中定义了所有翻译,我不建议关闭lint检查,它们存在是有原因的。相反,检查错误并修复它
错误报告保存到[app module]/build/reports/lint results yourBuildName fatal.html
。您可以在浏览器中打开此文件以读取有关错误的信息
如果Gradle能够更清楚地说明错误报告是在哪里生成的,那就太好了。如果您试图找到问题所在,我在我的项目的以下路径中找到了我的问题:/app/build/reports/lint results release fatal.html(或.xml)
希望这有帮助 我的问题是缺少翻译。我有一个settings.xml没有翻译,因为它不是必需的,所以我必须在字符串中添加“translateable=“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文件中的位置。关闭lint检查不是一个好主意,因为它们存在是有原因的。相反,转到:
/app/build/reports/lint-results-release-fatal.html or
/app/build/reports/lint-results-release-fatal.xml
然后修复它。我的问题是缺少翻译。我有一个settings.xml没有翻译,因为它不需要,所以我必须在字符串中添加“translateable=“false”:
<string translatable="false" name="stringname">This string doesn't need translation</string>
此字符串不需要翻译您可以从gradle build选项卡中选择Assembly来查找更多信息:尝试下面的代码
使用主Android{Inside}中的build.gradle(app)文件解决此问题
lintOptions {
checkReleaseBuilds false
abortOnError false
}
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 {
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(模块:应用程序)
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->检查代码 然后在检查结果中,您将看到一个错误
在我的例子中,由于Google IAP中未解析的javadoc引用,构建失败。在我的例子中,问题与Google Play要求的最低目标API级别有关。设定的时间不到26分钟 当我将最低目标API级别设置为26时,问题消失了
lintOptions {
checkReleaseBuilds false
abortOnError false
}
上面的代码可以通过忽略它来修复问题,但也可能导致应用程序崩溃
好的答案在以下链接中:
只需在此处找到错误原因并进行修复
yourProject/app/build/reports/lint-results-release-fatal.xml
正如许多人所建议的,最好尝试从源代码处修复错误。检查lint生成的文件
/app/build/reports/lint-results-release-fatal.html
阅读该文件,您将被引导到错误的来源。检查我的:错误来自不正确的视图约束。
将此添加到android{}中
build.gradle(模块:应用程序)
当我将
Android Gradle插件版本更新为4.0.1
和Gradle版本更新为6.1.1
时,我遇到了这个问题
如果有人赶时间,只需将Gradle插件版本
降级为3.6.3
,将Gradle版本
降级为5.6.4
。它对我很有效。不要禁用lint选项
检查Lint报告中的错误和警告
路径:
YourAppProjectFolder\app\build\reports
解决所有错误和警告:)这对应用程序没有任何其他副作用,对吗?不,关闭棉绒不会对应用程序造成任何副作用。Lint是一个代码分析工具,这里提到的由设置可调试属性引起的错误可以在build/outputs文件夹中的“Lint results release fatal.html”文件中详细查看;因此,遵循一些其他建议,将其添加到我的build.grade文件中的应用程序级别,即再往下一个文件夹中,android部分已经存在。警告:这只会禁用lint检查。在禁用错误之前,最好至少查看一下错误。在我的例子中,它们是关于某些特定语言缺少的字符串。点击“分析”->“检查代码…”“我不建议这样做。在我的例子中,忽略这些警告会导致由于缺少资源而导致运行时崩溃。请查看lint-results-release-fatal.html并修复所有问题。非常漂亮,但是这个窗口从哪里来?我在Android Studio中找不到它…这对我来说很有用。我也有类似的问题。执行任务失败:应用程序:lint***发布'>org.picocontainer.M