我一直受困于Gradle无法构建(可以在iOS上正常工作)。我苦苦挣扎,因为Gradle犯了一个通用错误,今天终于得到了:
FAILURE:构建因异常而失败。
出了什么问题:在执行期间无法捕获任务':app:preDebugBuild'属性'compileManifests'的输入文件的指纹最新检查。
在项目“应用”中,已解析的Google Play服务库依赖项依赖于另一个版本(例如“ [18.0。0]”,但不是)被解析为该版本。图书馆展示的行为将不明。
依赖项失败:com.google.firebase:firebase-messaging:18.0.0->com.google.firebase:firebase-iid @ [18.0.0],但使用fire base-iid版本是17.1.2。
以下依赖项是直接的项目依赖项或具有传递依赖性,从而导致与问题。 -项目'app'取决于项目'firebase_messaging'取决于com.google.firebase:[email protected]。 0-项目“应用程序”取决于项目“ firebase_core”,该项目取决于com.google.firebase:[email protected] –项目“应用程序”取决于项目'firebase_analytics'取决于com.google.firebase:[email protected]。 0-项目“ app”取决于项目'firebase_remote_config',取决于com.google.firebase:[email protected] .1-项目'app'取决于com.google.firebase:[email protected]
有关扩展的调试信息,请从命令行执行Gradle使用./gradlew --info:app:assembleDebug来查看dep持久性工件的路径。此错误消息来自google-services Gradle插件,在https://上报告问题github.com/google/play-services-plugins并通过添加禁用“ googleServices {disableVersionCheck = false}”uild.gradle文件。
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的见解。
在https://help.gradle.org获取更多帮助
这是在我从pubspec中取出版本号以查看是否有帮助之后。我不了解Google的版本编号,也不确定应该安装哪个版本的插件,因为它过去曾引起冲突:
dependencies:
flutter:
sdk: flutter
http:
cached_network_image:
flutter_cache_manager:
carousel_pro:
cloud_firestore:
firebase_core:
firebase_remote_config:
dynamic_theme:
flutter_signin_button:
shared_preferences:
share:
flutter_search_bar:
google_sign_in:
#flutter_facebook_login:
flutter_html:
requests:
webview_flutter:
flutter_webview_plugin:
firebase_analytics:
flutter_app_badger: #for launcher badge icon (notifications)
uuid:
font_awesome_flutter:
device_info:
carousel_slider:
flutter_spinkit:
flutter_typeahead:
firebase_messaging:
html_unescape:
flutter_masked_text:
configurable_expansion_tile:
stripe_payment:
square_in_app_payments:
Google似乎并没有保持一致的版本号,并且通过取出版本号,我认为它至少会采用理论上应该可以使用的插件的最新版本。那么,我该如何解决呢?
您应该先将版本号放回此处。
这是firebase / play服务版本不匹配的问题,因此您可以确定pubspec.yaml中的其他插件都很好。
失败的依赖关系是firebase消息传递。
用很多字告诉你
com.google.firebase:firebase-messaging:18.0.0 package depends on com.google.firebase:firebase-iid@[18.0.0]
但只找到17.1.2。
您需要
com.google.firebase:[email protected]
com.google.firebase:[email protected]
com.google.firebase:[email protected]
以后,如果您遇到版本问题,请检查特定的软件包GitHub问题,以查看您所使用的版本当前是否有问题。这样可以节省您很多时间。
我不建议从pubsepc.yaml中删除版本号,但是如果您键入
firebase_messaging: any
它将为您提供兼容的版本。