Приложение Flutter не скомпилировано с плагином cloud_firestore - PullRequest
0 голосов
/ 30 сентября 2018

Я уже добавил google-service.json под android/app.Но у меня появляется сообщение об ошибке при попытке создать приложение.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':cloud_firestore:processDebugGoogleServices'.
   > Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 11.4.2.

* 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 1s
Finished with error: Gradle task assembleDebug failed with exit code 1

Я пытался flutter clean -> flutter packages get, но это не может решить мою проблему.

pubspec.yaml

version: 1.0.0+1

environment:
    sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
    flutter:
        sdk: flutter

    cupertino_icons: ^0.1.2
    http: ^0.11.3+17
    json_annotation: ^0.2.3
    cloud_firestore: ^0.8.0

app / build.gradle

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'com.android.support:multidex:1.0.3'

    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'

Я не добавил implementation 'com.google.firebase:firebase-core:16.0.3' и implementation 'com.google.firebase:firebase-database:16.0.2', потому что я следую руководству по codelab. (https://codelabs.developers.google.com/codelabs/flutter-firebase/#5)

В этой строке указывается версия 3.2.1 плагина (не используйте версию 3.3.0 или 3.3.1 на данном этапе). Для получения дополнительной информации см. Раздел Добавление SDK.документации Add Firebase к вашему проекту Android (но не следуйте этим инструкциям, поскольку они отличаются от инструкций Flutter) .

build.gradle (проект)

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:3.2.1'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

Обновление

Я также пытался обновить версию Gradle до 4.6. Файл -> Структура проекта -> Project

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

Но по-прежнему возникает ошибка.

Если я попытался синхронизировать gradle,

Unable to resolve dependency for ':app@dynamicProfile/compileClasspath': Could not resolve project :cloud_firestore.

Unable to resolve dependency for ':app@dynamicProfile/compileClasspath': Could not resolve project :firebase_core.

И попытался построить двоичный файл флаттера,

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':cloud_firestore:processDebugGoogleServices'.
> File google-services.json is missing. The Google Services Plugin cannot function without it. 
   Searched Location: 
  /Users/kenny/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.8.0/android/src/nullnull/debug/google-services.json
  /Users/kenny/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.8.0/android/src/debug/nullnull/google-services.json
  /Users/kenny/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.8.0/android/src/nullnull/google-services.json
  /Users/kenny/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.8.0/android/src/debug/google-services.json
  /Users/kenny/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.8.0/android/src/nullnullDebug/google-services.json
  /Users/kenny/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.8.0/android/google-services.json

* 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 9s
Finished with error: Gradle task assembleDebug failed with exit code 1

google-service.json

{
  "project_info": {
    "project_number": "1234566",
    "firebase_url": "https://XXXXXX.firebaseio.com",
    "project_id": "XXXXXX",
    "storage_bucket": "XXXXXX.appspot.com"
  },
  "client": [
    {
      "client_info": {
        "mobilesdk_app_id": "1:123456:android:1234567890",
        "android_client_info": {
          "package_name": "com.package.name"
        }
      },
      "oauth_client": [
        {
          "client_id": "client_id.apps.googleusercontent.com",
          "client_type": 3
        }
      ],
      "api_key": [
        {
          "current_key": "client_key"
        }
      ],
      "services": {
        "analytics_service": {
          "status": 1
        },
        "appinvite_service": {
          "status": 1,
          "other_platform_oauth_client": []
        },
        "ads_service": {
          "status": 2
        }
      }
    }
  ],
  "configuration_version": "1"
}

Самостоятельное решение

Использование 0.7.4 версии вместо 0.8.0 для cloud_firestore.

Изменение зависимостей gradle

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

Использовать multiDex

Это работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...