質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

1506閲覧

FlutterとFirebaseの接続ができない。(Could not find the Android Application module)

_Tomo_

総合スコア8

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

1クリップ

投稿2020/02/18 04:04

【開発環境】

Flutter: 1.12.13+hotfix.8
Android Studio: 3.5.3

######【質問内容】
公式ドキュメントを見てFlutterとFirebaseの接続設定をしました。
Android Studioでツール > Firebase > リアルタイムデータベース を開いて一番上のconnect to Firebaseを押すと、モジュールが見つからないとエラーが出ます。

Firebase: Could not find the Android Application module. Only Android Application Modules can be connected to Firebase online projects. Create a new Android Application Module or create/import a different Android Studio project.

調べてみても原因が分からず、途方に暮れています。
いったい何が原因なのでしょうか?

######【設定ファイル】

プロジェクト名>android>app>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 FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") // 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 29 lintOptions { disable 'InvalidPackage' } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.timetable_for_students" minSdkVersion 16 targetSdkVersion 29 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "androidx.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 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' implementation 'com.google.firebase:firebase-core:16.0.7' } //Firebase利用のために追記 apply plugin: 'com.google.gms.google-services' // Google Play services Gradle plugin

プロジェクト名>android>build.gradle↓

buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.5.3' //Firebase利用のために追記 classpath 'com.google.gms:google-services:3.2.1' // Google Services plugin } } 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 }

pubspec.yamlのdependenciesに追記↓

firebase_core: ^0.2.5 #Firebaseを利用するためのプラグイン firebase_analytics: ^1.0.4 #google analiticsを利用するためのプラグイン firebase_database: any #realtime databaseを利用するためのプラグイン

######【試したこと】

  • ターミナルでflutter packages get
  • Open for Editing Android Studioから設定ファイルの同期
  • Firebaseコンソールのアナリティクス>Dashboardを見ると、ユーザー数1となっており接続できていることが確認できた。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/02/18 04:26

Android Studio のツール > Firebase はプロジェクトの設定を楽にするだけなので、手動でもできますし、Flutter には対応してないのかも。Firebase console から google-services.json を拾ってきて android/app に放り込めば動くんじゃないでしょうか。
_Tomo_

2020/02/18 06:59

確かにできました! ツール > Firebaseで設定をしなければ使えないものだとばかり思っていました。 教えていただいてありがとうございます。
guest

回答1

0

自己解決

hoshi-takanoriさんからのコメントのおかげで解決しました。

ツール > Firebaseから接続しなくても、android/appにFirebaseプロジェクトのgoogle-services.jsonを入れればFirebaseを利用することができました。

投稿2020/02/18 07:02

_Tomo_

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問