環境
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.14.5 18F203, locale ja-JP)
本文
AndroidX にマイグレーションした Flutter プロジェクトで、 Firebase プラグインを入れてリリースビルドしたら以下のようなエラーが発生しました。
$ flutter build appbundle
(省略)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:preReleaseBuild'.
> Android dependency 'androidx.core:core' has different version for the compile (1.0.0) and runtime (1.0.2) classpath. You should manually set the same version via DependencyResolution
どうやら Firebase プラグインの依存する androidx.core:core
のバージョンが違うことが理由のようで、エラーを最後まで読むと「手動で依存関係の解決方法を設定しろ」とのこと。
で、ググったところドンピシャでこの問題にぶち当たってる情報が見つからなかったですが、素直に Gradle のドキュメントを見ながらいろいろ試したところ、 app/build.gradle
ファイルに以下を追記して androidx.core
グループのバージョンを全て 1.0.0
に揃えることでビルドできるようになりました。
app/build.gradle
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
print(details.requested.group)
if (details.requested.group == 'androidx.core') {
details.useVersion '1.0.0'
details.because 'API needs higher versions'
}
}
}
おそらく Flutter で Firebase 関連のプラグインを使おうとするとだいたい引っかかる(の割にはあまり情報がない)問題だと思うので、ご参考になれば。
なお、参考にした Gradle のドキュメントは以下です。