#android #flutter #flutter-dependencies
#Android #сбой #сбой-зависимости
Вопрос:
Я новичок в фреймворке flutter. Я пытаюсь установить cloud firestore в flutter, но возникла проблема. Ниже приведен мой код и файлы gradle: Android/ build.gradlew:
buildscript {
// ext.kotlin_version = '1.2.31'
repositories {
google()
jcenter()
maven {
url "https://maven.google.com"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:3.2.0'
}
}
allprojects {
repositories {
google()
jcenter()
maven {
url "https://maven.google.com"
}
}
}
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 "com.example.barcode_app"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
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 {
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 -v или сборки его в Android я получил сообщение об ошибке:
‘ОШИБКА: плагин с идентификатором ‘com.google.gms: сервисы Google’ не найден.’
Я перепробовал почти все решения, доступные на stackoverflow и github, но проблема все еще существует.
Комментарии:
1. перейдите в свой Android Studio SDK manager и в SDK tools проверьте, установлены ли службы Google Play и репозиторий Google.
2. Привет, добро пожаловать в StackOverflow, было бы действительно полезно, если бы вы могли привести другие решения, которые вы уже пробовали, или объяснить их. Тогда вы не получите повторных ответов, и возможные ответчики будут знать, чего следует избегать.
3. @Ryosuke да, я установил эти два.
Ответ №1:
В нижней части вашего файла app / build.gradle у вас есть:
apply plugin: 'com.google.gms:google-services'
На самом деле это должно быть:
apply plugin: 'com.google.gms.google-services'
Обратите внимание на точку между gms
и google-services
вместо двоеточия.
РЕДАКТИРОВАТЬ: Вероятно, у вас возникла эта проблема, потому что собственные документы Google (последнее редактирование 20 марта) неверны. Я отправил им отзыв, чтобы это исправили. заархивировано здесь http://archive.is/4Ujuc
На самом деле Google верен: путь к классу ‘com.google.gms: google-services: 4.2.0’ верен, и apply plugin: ‘com.google.gms.google-services’ также верен. У одного есть ДВОЕТОЧИЕ, а у другого ТОЧКА. но названия настолько похожи, что легко подумать, что они должны быть одинаковыми. Просто запомните «classpath» — ДВОЕТОЧИЕ, «plugin» — ТОЧКА.
Комментарии:
1. мне не помогло… у меня возникла проблема с плагином
com.google.gms.google-services
, который не найден…
Ответ №2:
Если проблема все еще сохраняется после применения решения Jmorris и Johnhunter, проверьте это решение
Решение было:
Upgrade the Android Gradle plugin to 3.5.0
Upgrade the Google Services plugin to 4.3.3
Upgrade Gradle to 5.4.1 (the required Gradle version for this Android Gradle plugin version)
Ответ №3:
Просто удалите google-services.json
файл и заново настройте firebase в вашем проекте.