プラグインプロジェクト:firebase_core_webが見つかりません 質問する

プラグインプロジェクト:firebase_core_webが見つかりません 質問する

Android プロジェクトを Firebase に接続しようとしましたが、pubsec.yaml に以下を追加したため、このエラーが発生します。

firebase_auth: ^0.16.0
cloud_firestore: ^0.13.5

gradleを実行しても動作しないとき

Plugin project :firebase_core_web not found. Please update settings.gradle.
Plugin project :firebase_auth_web not found. Please update settings.gradle.
Plugin project :cloud_firestore_web not found. Please update settings.gradle.

解決策はあるのでしょうか

ベストアンサー1

android/app/build.gradle、以下を更新します。

android {
    // ...
    defaultConfig {
        // ...
        minSdkVersion 16
    }
}

の中へ:

android {
    // ...
    defaultConfig {
        // ...
        minSdkVersion 23
    }
}

注記:

minSdkVersion 23Flutter で Firebase を使用する場合に使用する必要があります。

からドキュメント:

デフォルトでは、Flutter は Android SDK v16 (Jelly Bean、2012 年リリース) をサポートしていますが、マルチデックスは Jelly Bean では実際には動作しません (ただし、動作は可能です)。Jelly Bean を動作するように構成することはこのコードラボの範囲外であるため、最小ターゲット SDK バージョンを v16 から v21 (Lollipop、2014 年リリース) に変更します。

最小ターゲット SDK バージョンを変更するには:

  • android/app/build.gradle を開き、minSdkVersion 16 という行を見つけます。
  • その行を minSdkVersion 21 に変更します。
  • ファイルを保存します。

アップグレード後は正常に動作するはずです。このsettings.gradleファイルは、新しいFlutterプロジェクトを作成するときに提供されます。参考までに、settings.gradleファイルは次のようになります (デフォルト ファイル、変更なし)。

include ':app'

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

https://github.com/PeterHdd/Firebase-Flutter-tutorials/blob/master/firebase_storage_tutorial/android/settings.gradle


説明settings.gradle

GradleはAndroidプロジェクト用のビルドツールで、やと同様にantmavenスクリプトにはGroovy言語またはKotlinを使用します。この場合、上記のコードはを使用して書かれておりgroovy、は言語groovyであるためjvm、ライブラリを使用できますJava。つまり、基本的にはinclude ':app'プロジェクトをビルドに追加します (Groovy ではメソッドの括弧を省略できます)。

この行:

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

マシンで作成した Flutter プロジェクトへのパスを取得します。参考:

https://docs.gradle.org/current/javadoc/org/gradle/api/initialization/ProjectDescriptor.html#getProjectDir-- https://docs.oracle.com/javase/8/docs/api/java/io/File.html#toPath-- https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html

この行:

def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')

.flutter-pluginsフラッタープロジェクトのルートの下にという空のファイルを作成します。plugins.each{ name, path ->これは基本的に、プラグイン名とプラグインのパスをファイル に追加する繰り返しです.flutter_pluginsそのファイルにプラグインが見つからない場合、この質問でエラーが発生します

.flutter-pluginsファイル:

# This is a generated file; do not edit or check into version control.
cloud_firestore=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.6/
cloud_firestore_web=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_web-0.1.1+2/
firebase_auth=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.16.1/
firebase_auth_web=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_auth_web-0.1.2/
firebase_core=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.4.4+3/
firebase_core_web=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_core_web-0.1.1+2/
firebase_database=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_database-3.1.5/
firebase_storage=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_storage-3.1.5/

おすすめ記事