Flutter - Plugin project :firebase_core_web not found
개발일지/Flutter

Flutter - Plugin project :firebase_core_web not found

이슈

안녕하세요? Flutter 최신버전(1.22.6)으로 업그레이드한 후 Android 빌드시 아래와 같은 워닝이 발생하고 있어요.
워닝 메시지와 같이 settings.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 에서 minSdkVersion을 23으로 올려줍니다.
    기본적으로 플러터는 SDK 16버전을 지원하지만 multidex의 경우 동작되지 않아
    minSdkVersion 을 23으로 올리도록합니다.

    참고로 Android SDK 16의 정보는 Lollipop, released 2014 입니다.

    기존 설정은 아래와 같다.

     // android/app/build.gradle
     android {
         // ...
         defaultConfig {
             // ...
             minSdkVersion 16
         }
     }

    아래 값으로 수정한다.

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

     

  2. android/settings.gradle 을 업데이트합니다.

    기존 코드는 아래와 같다.

     include ':app'
    
     def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
     def properties = new Properties()
    
     assert localPropertiesFile.exists()
     localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
    
     def flutterSdkPath = properties.getProperty("flutter.sdk")
     assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
     apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.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
     }

     

     

  3. 이제 다시 빌드해보자.

참고

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

반응형