Flutter使用Gradle 4.2.2和SDK版本31构建失败

3

在构建Flutter移动应用时,我遇到了以下错误:

* What went wrong:
Execution failed for task ':location_permissions:parseReleaseLocalResources'.
> Could not resolve all files for configuration ':location_permissions:androidApis'.
   > Failed to transform android.jar to match attributes {artifactType=android-platform-attr, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for PlatformAttrTransform: C:\Users\zukijuki\AppData\Local\Android\sdk\platforms\android-29\android.jar.
         > C:\Users\zukijuki\AppData\Local\Android\sdk\platforms\android-29\android.jar

android/build.gradle配置如下:

buildscript {
    repositories {
        google()
        mavenCentral()
        maven {
            url 'https://maven.fabric.io/public'
        }
        maven {
            url 'https://plugins.gradle.org/m2/'
        }
        maven {
            url 'https://maven.google.com'
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2'
        classpath 'com.google.gms:google-services:4.3.3'
        classpath 'io.fabric.tools:gradle:1.28.1'        
    }
}

并且在下面的 app/build.gradle 文件中:

...

android {
    compileSdkVersion 31
    buildToolsVersion '28.0.3'

    lintOptions {
        //disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "com.example"
        minSdkVersion 22
        multiDexEnabled true
        targetSdkVersion 30
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        resConfigs "en", "US"
    }
    
    ...

}

flutter {
    source '../..'
}

dependencies {

    implementation("com.google.android.gms:play-services-base:17.0.0"){ force = true } 
    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.google.android.gms:play-services-location:16.0.0'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.facebook.android:facebook-android-sdk:[5,6)'


}

configurations {
    all*.exclude group: 'com.google.guava', module: 'listenablefuture'
}


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

有没有解决上述问题的任何想法?

提前感谢您...

===更新

  1. gradle.properties
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
android.enableR8=true
  1. 使用Android Studio Bumblebee | 2021.1.1 Patch 3构建

  2. 重新安装API Level 29、30、31、32仍然无法解决问题。

2个回答

1

我最终通过将我的Gradle版本降级到4.1.0来解决了这个问题。

dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
        ...        
}

1

看起来安卓的一些配置文件丢失了。

尝试重新安装安卓SDK。

为此,您需要从SDK管理器中卸载,然后重新安装它。

找到方法:点击工具 > SDK管理器。


嗨,我之前已经添加了它。 - questionasker
你正在使用哪个集成开发环境进行编程? - Jerry
Android Studio黄蜂鸟版 | 2021.1.1 补丁3 构建版本号:AI-211.7628.21.2111.8309675,于2022年3月17日构建 - questionasker
好的,现在我知道了,我已经更新了我的答案。 - Jerry
我尝试重新安装SDK 29、30、31,但没有任何改变。 - questionasker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接