android - Gradle 失败可能是因为这个 Flutter 应用程序中的 AndroidX 不兼容

标签 android gradle flutter dependencies classpath

从更新依赖类路径时会出现此问题 'com.android.tools.build:gradle:3.2.1'*'com.android.tools.build:gradle:3.3.2'

项目级 build.gradle

buildscript {
        repositories {
            google()
            jcenter()
        }

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

    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
    }

应用级 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 from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

    android {
        compileSdkVersion 28

        lintOptions {
            disable 'InvalidPackage'
        }

        defaultConfig {
            // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
            applicationId "org.company.com.flutter_app"
            minSdkVersion 19
            targetSdkVersion 28
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }

        buildTypes {
            release {
                signingConfig signingConfigs.debug
            }
        }
    }

    flutter {
        source '../..'
    }

    dependencies {
        testImplementation 'junit:junit:4.12'
    }

pubspec.yaml

dependencies:
flutter:
  sdk: flutter
cupertino_icons: ^0.1.2

dev_dependencies:
flutter_test:
  sdk: flutter
flutter_svg: ^0.12.0
printing: ^2.0.0
image: ^2.0.7

最佳答案

在 android/gradle.properties 中添加:

android.useAndroidX=true
android.enableJetifier=true

引用:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility

关于android - Gradle 失败可能是因为这个 Flutter 应用程序中的 AndroidX 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55369997/

相关文章:

java - 接收应用程序到应用程序的响应,但将被调用的应用程序没有自己的 Intent

android - 如何在 Windows 中使用 Python-for-Android 创建一个包?

gradle - 当文档说它必须返回Parent类型时,为什么gradle Project API会为getParent()返回String?

android - 迁移到AndroidX后无法在设备上运行。守护程序启动失败,导致任务 ':app:mergeDebugResources'失败

maven - gradle:api 与 api project() 区别

android - 使用命令行导出已签名的应用程序包

android - 无法确定任务 ':app:mergeDebugAssets' 的依赖关系

audio - Flutter - 播放自定义声音更新了吗?

flutter - 每当键盘打开或关闭时,我的 flutter 应用程序就会重建

asynchronous - 我怎样才能等待一个变量