【问题标题】:Execution failed for task ':app:lintVitalRelease'. Flutter任务 ':app:lintVitalRelease' 执行失败。扑
【发布时间】:2020-10-14 07:44:02
【问题描述】:

为什么会出现这些错误我尝试发布 apk

我运行“flutter build apk --release”

任务“:app:lintVitalRelease”执行失败。 配置根项目“android_intent”时出现问题。

  • 出了什么问题:配置根项目“android_intent”时出现问题。

未找到 SDK 位置。使用 local.properties 文件中的 sdk.dir 或使用 ANDROID_HOME 环境变量定义位置。

android/app/build.gradle

def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    } }

def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with  flutter.sdk in the local.properties file.") }

def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) {
    flutterVersionCode = '1' }

def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) {
    flutterVersionName = '1.0' }

apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 28

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.deleviry"

   minSdkVersion 21
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    } }

flutter {
    source '../..' }

dependencies {
    implementation 'com.google.firebase:firebase-core:17.2.0'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" }

apply plugin: 'com.google.gms.google-services'

android/build.gradle

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
        classpath 'com.google.gms:google-services:4.3.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    } }

allprojects {
    repositories {
        google()
        jcenter()
    } }

rootProject.buildDir = '../build' subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects {
    project.evaluationDependsOn(':app') }

task clean(type: Delete) {
    delete rootProject.buildDir }

【问题讨论】:

    标签: flutter gradle


    【解决方案1】:

    升级 gradle 构建工具似乎破坏了一些 lints。

    要解决此问题,您可以:

    如果你的错误是 debug/libs.jar,构建 --debug 然后 --release。
    如果你的错误是 profile/libs.jar,构建 --profile 然后 --release。

    来自https://github.com/flutter/flutter/issues/58247#issuecomment-636500680

    如果上述方法不起作用,您可以禁用检查。

    android/app/build.gradle文件的lintOptions中添加checkReleaseBuilds false

    android {
        ...
        lintOptions {
            disable 'InvalidPackage'
            checkReleaseBuilds false //<- add this line
        }
    }
    

    【讨论】:

    • 这会禁用检查!所以它没有被执行,根本问题没有得到解决!
    【解决方案2】:

    如果你的错误是debug/libs.jar,构建--debug 然后--release

    flutter build apk --debug
    flutter build apk --release
    

    如果你的错误是profile/libs.jar,构建--profile 然后--release

    flutter build apk --profile
    flutter build apk --release
    

    取自here

    【讨论】:

      【解决方案3】:

      如果您遇到此问题并且无法像我这样使用任何一种修复方法来解决它,那么您可能有不同的口味。我必须为每种风格运行 run 和 --release 命令,然后才能构建一个没有错误的版本。

      所以 颤振运行--风味开发 ...(对每种口味都这样做) flutter run --flavor lastFlavor 然后 flutter build apk --flavor dev(错误) ...(对每种口味都这样做) flutter build apk --flavor lastFlavor(成功!)

      从现在开始,您可以毫无错误地构建每种风味:)

      【讨论】:

        【解决方案4】:

        我坚持使用来自3.x 系列 (3.6.4) 的最新 Android Studio Gradle 插件与最新的 Gradle 版本(AS 插件 3.6.4 + Gradle 6.6 不会产生错误我)。

        编辑:截至 2021 年 7 月 13 日,Flutter 2.2.3 与 Android Studio Gradle 插件版本 4.2.2 和 Gradle 6.8.3(稳定)运行良好

        【讨论】:

        • 如何升级 gradle 插件
        • 在 Android Studio 中,在“项目结构”下,您可以选择适合您需求的 Android Studio Gradle 插件。
        • 我在哪里可以获得 Gradle 6.8.4(稳定)?,我检查了 gradle 版本,6.8.x 的最新版本是 6.8.3 gradle.org/releases
        • 你是绝对正确的Septiyan,这是我的错误。 Gradle stable 6.x 最高为 6.8.3;我已经更正了帖子。
        • i',m 尝试使用 AGP 4.2.2 和 gradle 6.8.3 在构建风味时仍然存在问题,所以现在我仍然使用 AGP 3.5.4 和 gradle 6.8.3 ,或者添加 @987654327 @
        猜你喜欢
        • 2022-09-24
        • 2021-07-13
        • 2020-06-13
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 2020-06-04
        • 2021-05-19
        • 2020-03-07
        相关资源
        最近更新 更多