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を使用して再コンパイルしてください。
失敗:例外によりビルドが失敗しました。
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 の問題に関連している可能性がありますが、よくわかりません。
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
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を更新したからです。
次のアップデートは問題を解決するはずです:
更新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'
}
}
私にとっては、アプリのbuild.gradleでminSDKVersionを23に変更するだけです。