【问题标题】:Flutter Gradle build exceptionFlutter Gradle 构建异常
【发布时间】:2019-03-31 11:03:18
【问题描述】:

因为 Flutter 和 android pie 或 sdk 28 存在一个错误,当触摸文本字段时不会出现键盘上的错误,我想尝试将编译和目标 sdk 降级回 27。我升级了一周左右以前和那时一切都在版本 27 上运行。但是当我现在尝试构建它时,我得到了这个错误。

Launching lib\main.dart on ONEPLUS A6003 in debug mode...
Initializing gradle...
Resolving dependencies...
Gradle task 'assembleDebug'...
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
C:\Users\user\.gradle\caches\transforms-1\files-1.1\appcompat-v7-28.0.0.aar\06dacde0fc29b2587bc44934e40ef762\res\values-v28\values-v28.xml:9:5-12:13: AAPT: error: resource android:attr/dialogCornerRadius not found.

C:\Users\user\Project\yapp_mobile\build\app\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:11: AAPT: error: resource android:attr/dialogCornerRadius not found.

C:\Users\user\.gradle\caches\transforms-1\files-1.1\appcompat-v7-28.0.0.aar\06dacde0fc29b2587bc44934e40ef762\res\values\values.xml:1304:5-69: AAPT: error: resource android:attr/fontVariationSettings not found.

C:\Users\user\.gradle\caches\transforms-1\files-1.1\appcompat-v7-28.0.0.aar\06dacde0fc29b2587bc44934e40ef762\res\values\values.xml:1304:5-69: AAPT: error: resource android:attr/ttcIndex not found.


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Failed to process resources, see aapt output above for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 17s
Finished with error: Gradle task assembleDebug failed with exit code 1

颤抖的医生

[√] Flutter (Channel master, v0.10.2-pre.69, on Microsoft Windows [Version 10.0.17134.345], locale de-DE)
[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[√] Android Studio (version 3.2)
[√] IntelliJ IDEA Ultimate Edition (version 2017.3)
[!] VS Code, 64-bit edition (version 1.25.1)
[√] Connected device (1 available)

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

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
    compileSdkVersion 27

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "com.my.app"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 6
        versionName "1"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release

            minifyEnabled true
            useProguard true

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation 'com.google.firebase:firebase-messaging:17.3.4'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:multidex:1.0.3'
}
apply plugin: 'com.google.gms.google-services'

android/build.gradle

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.google.gms:google-services:3.2.1'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

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

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

【问题讨论】:

  • 尝试执行flutter clean 并再次构建?还是去android目录运行gradlew clean
  • 试过了,没用

标签: android gradle flutter


【解决方案1】:

我创建了另一个 Flutter 应用并替换了所有 .dart 文件以及 pubspec.yaml 中的包。这是我找到的最快的方法。其他方法可能会导致新的错误或有时毫无价值。

【讨论】:

    【解决方案2】:

    我设法通过一一删除 pubspec.yaml 文件中的 dart 包来解决它,并查看是哪个导致了错误。特别是对我来说,我使用的是 image_picker,它在 0.5.0 版本上引入了一个重大更改,所以我只是降级到以前的版本并且它工作了。

    【讨论】:

      【解决方案3】:

      我认为问题在于您正在尝试使用 28.0 版本的 AppCompat,构建版本为 27(也许您的依赖项之一需要它?)。

      尝试明确要求 27.* 版本(将 compile 'com.android.support:appcompat-v7:27.1.1' 添加到您的依赖项中。如果您遇到版本冲突,那么您可能还必须降级一些 Flutter 插件依赖项。

      【讨论】:

      • 我最终不需要这种依赖。但我检查了我使用的所有插件,不得不删除一个,因为它使用 sdk 28 并构建了我自己的实现(还不错)。
      • 啊,很公平。希望这个错误能很快得到修复——他们通常很快就能修复类似的主要问题
      • 我希望他们修复 Android 9 上的键盘错误
      • 嘿@JohannFeser,您是如何找到给您带来麻烦的插件的?你到底在哪里看什么?
      • 最简单的方法可能是查看每个插件的 build.gradle 文件。 Intellij 应该能够通过快速搜索找到它们。
      猜你喜欢
      • 2019-09-08
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 2021-11-15
      • 2020-07-17
      • 2015-10-01
      相关资源
      最近更新 更多