web-dev-qa-db-ja.com

Flutterでのcloud_firestoreおよびfirebase_authの互換性の問題

Flutterアプリを開発しています。私のアプリはcloud_firestoreおよびfirebase_authパッケージを個別に使用する場合。ただし、両方にそれらを一緒に含めると、pubspecs.yamlファイルの場合、ビルドは失敗し、次のメッセージが表示されます。

注:/home/saber/Code/mobile_dev/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.4/Android/src/main/Java/io /flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.Javaは、チェックされていない、または安全でない操作を使用します。注:詳細については、-Xlint:uncheckedを指定して再コンパイルしてください。注:/home/saber/Code/mobile_dev/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.18/Android/src/main/Java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin。 Javaは非推奨のAPIを使用またはオーバーライドします。注:詳細については、-Xlint:deprecationを指定して再コンパイルしてください。注:/home/saber/Code/mobile_dev/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.5.18/Android/src/main/Java/io/flutter/plugins/firebaseauth/FirebaseAuthPlugin。 Javaは未チェックまたは安全でない操作を使用します。注:詳細については、-Xlint:uncheckedを指定して再コンパイルしてください。注:/home/saber/Code/mobile_dev/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.2.5/Android/src/main/Java/io/flutter/plugins/firebase/core/ FirebaseCorePlugin.Javaは、チェックされていない、または安全でない操作を使用します。注:詳細については、-Xlint:uncheckedを使用して再コンパイルしてください。

失敗:例外によりビルドが失敗しました。

  • 問題の原因:タスク ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'の実行が失敗しました。

    Java.lang.RuntimeException:Java.lang.RuntimeException:com.Android.builder.dexing.DexArchiveMergerException:dexをマージできません

これが、pubspec.yamlファイルにある依存関係です。

dependencies:
   flutter:
     sdk: flutter
   firebase_auth: ^0.5.18
   cloud_firestore: ^0.7.4

パッケージのバージョンを確認したところ、どちらも最新バージョンのようです。

この問題を解決するための助けがあれば幸いです!

これは this の問題に関連している可能性がありますが、よくわかりません。

8
AmooSaber

Gradleバージョンを更新します。同じ問題に直面していましたが、以下の手順で解決しました。

ステップ1:app/build.gradle

  apply plugin: 'com.google.gms.google-services'

  defaultConfig {
        minSdkVersion 16
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        ****multiDexEnabled true****

    }

ステップ2:Android/build.gradleでGradleバージョンの依存関係を変更する

classpath 'com.Android.tools.build:gradle:3.4.1'
classpath 'com.google.gms:google-services:3.2.0' 

ステップ3:pubspec.ymalの最新バージョンのfirebase_authおよびcloud_firestore

 cloud_firestore: ^0.12.5+1
  firebase_auth: ^0.11.1+6
  google_sign_in: ^4.0.2
6
Pooja

Android/build.gradleでこの依存関係のみを使用し、他の依存関係を削除します

classpath 'com.Android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:3.2.1'

このバージョンをpubspec.yamlで使用する必要があります

firebase_auth: 0.5.11
google_sign_in: 3.0.4
cloud_firestore: 0.7.3  

これらのバージョンはgradle toolingを更新したからです。

1
yashthakkar1173

次のアップデートは問題を解決するはずです:

更新Android/gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.Zip

依存関係とバージョンを更新する

Android/build.gradle

dependencies { classpath 'com.Android.tools.build:gradle:3.5.3' classpath 'com.google.gms:google-services:4.3.2'

そしてAndroid/build.gradleまだ

buildscript {
    ext.kotlin_version = '1.3.61'

pubspec.yaml

firebase_core: ^0.4.2+1 
  cloud_firestore: ^0.12.11

これに従う必要があります setup:

Android/app/build.gradleを開き、ファイルの下部に追加します。

apply plugin: 'com.google.gms.google-services'

android/build.gradleに以下を追加します:

buildscript {
  repositories {
    // ,,,
  }
  dependencies {
    // ...
    classpath 'com.google.gms:google-services:3.2.1' 
   }
 }
1
Peter Haddad

私にとっては、アプリのbuild.gradleでminSDKVersionを23に変更するだけです。

1
Quang Le