Сбой Gradle, возможно, произошел из-за несовместимости AndroidX в этом приложении Flutter

#android #gradle #flutter #dependencies #classpath

#Android #gradle #flutter #зависимости #путь к классу

Вопрос:

Эта проблема возникает при обновлении пути к классу зависимостей с ‘com.android.tools.build:gradle: 3.2.1’ на *’com.android.tools.build: gradle: 3.3.2′

сборка на уровне .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
    }
  

сборка на уровне .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
  

Комментарии:

1. используете ли вы какой-либо плагин? Сбой сборки Android x Gradle часто возникает при использовании плагина, который несовместим с Android x. также убедитесь, что вы обновили Android studio.

2. Используемые зависимости:: flutter_svg: ^ 0.12.0 изображение: ^ 2.0.7

3. @jazzbpn, пожалуйста, поделитесь ошибкой, а также файлом app / build.gradle.

4. Вы могли бы просто избежать AndroidX .. проверьте эту ссылку flutter.dev/docs /development /packages-and-plugins / …

Ответ №1:

добавьте это в android / gradle.properties:

 android.useAndroidX=true
android.enableJetifier=true
  

Ссылка:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility

Комментарии:

1. После добавления приведенных выше строк android/gradle.properties обязательно обновите зависимости gradle в app/build.gradle , такие как: « dependencies { … androidTestImplementation ‘androidx.test: runner: 1.1.0’ androidTestImplementation ‘androidx.test.espresso: espresso-core: 3.1.0’ … « Ссылка: blog.wafrat.com/flutter-androidx-migration

Ответ №2:

У меня возникла та же проблема, после проверки этих 2 ссылок:https://flutter.dev/docs/deployment/android

и proguard. Единственное, что сработало для меня, это удаление minifyEnabled true fom build.graddle.graddle.

Надеюсь, это кому-то поможет.

Комментарии:

1. Если вы удалите эту строку, ваш код не будет запутан, вам следует исправить, добавив правила proguard

Ответ №3:

Похоже, вы используете зависимость Flutter, которая несовместима с Androidx, попробуйте прокомментировать недавнюю зависимость и повторно запустить ее, если это работает, попробуйте использовать зависимость, совместимую с Androidx

Ответ №4:

Убедитесь, что все ресурсы используются.

тогда flutter pub get тогда flutter pub upgrade тогда flutter pup outdated .