错误:任务执行失败':app:lintVitalRelease'任何人都可以解决它吗?

时间:2018-03-14 19:30:35

标签: java android

为什么我收到此错误我尝试清理并重建应用程序并制作 应用程序发布为true,我得到同样的错误

  

错误:任务':app:lintVitalRelease'的执行失败。   java.lang.IllegalStateException:预期为BEGIN_ARRAY但在第1行第1行为STRING

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion '26.0.2'
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "x.x.x"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 95
        versionName '5'

        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }

}

12 个答案:

答案 0 :(得分:16)

要找出棉绒失败的原因,请执行以下操作:

  1. 运行lintVitalRelease

您可以在gradle窗口中进行操作

enter image description here

  1. 在“运行”选项卡下,您将看到错误日志

enter image description here

对我来说,ConstraintLayout xml中的约束是错误的。

enter image description here

答案 1 :(得分:9)

基于这篇文章

修改 我删除了链接,因为线程不再存在

您需要做的是将这段代码添加到build.gradle文件中 在android {}部分

lintOptions { 
    checkReleaseBuilds false
}

所以喜欢这个

android {
    ...
    lintOptions {
        checkReleaseBuilds false
    }
}

<强>更新

这是另一篇谈论类似问题的帖子。似乎有这种错误可能发生的各种原因。禁用checkReleaseBuilds会起作用。建议找出问题所在并加以解决。最常见的错误似乎是strings.xml文件中缺少翻译。

我建议查看此帖子以获取更多帮助

Error when generate signed apk

答案 2 :(得分:9)

lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

答案 3 :(得分:6)

错误报告已保存到[app module]/build/reports/lint-results-yourBuildName-fatal.html。您可以在浏览器中打开此文件以了解错误。

src:https://stackoverflow.com/a/50239165/365229

答案 4 :(得分:5)

打开您的build.gradle文件,并在android下添加以下代码:

android {

    lintOptions { 
      checkReleaseBuilds false 
    }

答案 5 :(得分:3)

简单实用

解决方案 1

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

解决方案 2

android {
        lintOptions {
            checkReleaseBuilds false
            abortOnError false
        }
    }

解决方案 3

 android {
        lintOptions {
           disable 'MissingTranslation'
           abortOnError false
        }
    }
<块引用>

注意:有两种类型使用选项 ->

1

 lintOptions {
        //TODO
    }

2

android {
        lintOptions {
           // TODO
        }
    }

谢谢

答案 6 :(得分:1)

在我看来,不要使用“checkReleaseBuilds false”。这打破了我的整个发布版本,我只看到了一个白屏。

当前的解决方法正在运行:

    const ref = useRef<HTMLDivElement>(null);

    const [{ isDragging }, drag] = useDrag({
        item,
        collect: (monitor: DragSourceMonitor) => ({
            isDragging: monitor.isDragging()
        }),
    });

    drag(ref);
    return <div ref={ref} style={{ opacity: isDragging ? 0 : 1 }}>Example</div>

目前这是唯一对我有用的方法。 这里有一个未解决的问题:https://issuetracker.google.com/issues/158753935

答案 7 :(得分:0)

确保有 jcenter() 在build.gradle android {}部分的buildscript和allprojects中

答案 8 :(得分:0)

我也遇到类似的错误

         > Failed to transform '/Users/michaelbui/Projects/counter/build/app/intermediates/flutter/debug/libs.jar' using Jetifier. Reason: FileNotFoundException, message: /Users/michaelbui/Projects/counter/build/app/intermediates/flutter/debug/libs.jar (No such file or directory). (Run with --stacktrace for more details.)

在最新更新后构建应用程序时,但随后我在android / app / build.gradle中禁用了lint任务

lintOptions {
    disable 'InvalidPackage'
    checkReleaseBuilds false
}

这对我有用。

答案 9 :(得分:0)

文件>无效的缓存/重新启动...对我有用。

答案 10 :(得分:0)

就我而言,清单中有一些拼写错误导致错误,只需更正它们并编译

答案 11 :(得分:0)

就我而言,这是因为我使用无效(不存在)ID 来约束视图,当我尝试创建构建时,它给了我错误。你可以做的是执行任务,

./gradlew assembleRelease --stacktrace

这将为您提供以下选项,

要继续,请修复 lint 确定的问题,或按如下方式修改您的构建脚本:

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

如果您愿意,

checkReleaseBuilds false

它不会检查发布构建中的错误并创建构建,

如果您愿意,

abortOnError false

它将创建一个构建,并列出错误。

通过这种方式,您实际上可以更正错误。