Как исправить ошибку «Зависимость не удается» при создании приложения Flutter на Android - PullRequest
1 голос
/ 08 апреля 2019

Я пытаюсь использовать Google Войти с моим приложением Flutter.Однако я не могу собрать приложение из-за некоторых проблем с зависимостями.Я обновил все мои зависимости до последней версии, но безрезультатно.Как мне разрешить эти зависимости, чтобы я мог построить приложение?

Это приложение для простого флаттера, использующего вход в Google и работающее на подключенном телефоне Android OnePlus 6.

Я попытался обновить свои зависимости до последней версии, а также изменить код в соответствии с последней версией зависимости google_sign_in, найденной здесь: https://pub.dartlang.org/packages/google_sign_in

Я также попытался добавить firebase_core кВ списке зависимостей в сообщении об ошибке сказано, что приложение использует firebase_core.Это не привело к изменению сообщения об ошибке.

Зависимости проекта 'pubspec.yaml'

dependencies:
  flutter:
    sdk: flutter

  duration: ^2.0.0
  firebase_core: ^0.3.2
  cloud_firestore: ^0.9.11
  firebase_auth: ^0.8.4
  google_sign_in: ^4.0.1+3
  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter  

Уровень проекта build.gradle (android / build.gradle):

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        // Google Services class path
        classpath 'com.google.gms:google-services:4.2.0'
    }
}

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 (android / app / build.gradle):

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 "com.example.recipe_app"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        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:16.0.1'
    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'
}

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

Вывод 'flutter run':

Launching lib/main.dart on ONEPLUS A6003 in debug mode...
Initializing gradle...                                              1.0s
Resolving dependencies...                                           4.0s
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)

FAILURE: Build failed with an exception.

* What went wrong:
Failed to capture fingerprint of input files for task ':app:checkDebugClasspath' property 'compileClasspath' during up-to-date check.
> In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[15.0.
  1]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.

  Dependency failing: com.google.android.gms:play-services-stats:15.0.1 -> com.google.android.gms:play-services-basement@[
  15.0.1], but play-services-basement version was 16.1.0.

  The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
  ifact with the issue.
  -- Project 'app' depends on project 'cloud_firestore' which depends onto com.google.firebase:firebase-firestore@18.2.0
  -- Project 'app' depends onto com.google.firebase:firebase-core@16.0.1
  -- Project 'app' depends on project 'firebase_auth' which depends onto com.google.firebase:firebase-auth@16.0.5
  -- Project 'app' depends on project 'google_sign_in' which depends onto com.google.android.gms:play-services-auth@16.0.1

  For extended debugging info execute Gradle from the command line with ./gradlew --info :app:assembleDebug to see the dep
  endency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https://
  github.com/google/play-services-plugins and disable by adding "googleServices { disableVersionCheck = false }" to your b
  uild.gradle file.

* 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 2s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done                         2.9s
Gradle task assembleDebug failed with exit code 1

Я ожидал, что приложение будет собиратьсяуспешно, чтобы я мог проверить, работает ли вход в Google.Однако приложение не создается успешно, и я не знаю, что делать.

1 Ответ

0 голосов
/ 08 апреля 2019

Я попытался перекомпилировать, используя подробный режим, и мне сообщили, что причиной является AndroidX.

Я перешел по этой ссылке и понизил все зависимости до версий до миграции AndroidX, как указано в списке.в статье.Это решило проблему.

...