我在学习Android的同时正在做一些工作。我正在尝试将应用的版本更新为Android 8.0,其中包括sdk,使用的库和外部API。
我looked it up,似乎建议使用15.0.1版本。但是当我使用它时,gradle无法使play-services-analytics
和firebase
服务同步,说如果我按Install Repository,它将无法解析该库,也无法找到该存储库。
因此,目前我正在将12.0.1版同时用于播放服务和Firebase服务。像这样使用它:
implementation 'com.google.android.gms:play-services-maps:12.0.1'
implementation 'com.google.android.gms:play-services-analytics:12.0.1'
implementation 'com.google.android.gms:play-services-ads:12.0.1'
implementation 'com.google.android.gms:play-services-auth:12.0.1'
implementation 'com.google.android.gms:play-services-gcm:12.0.1'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-analytics:12.0.1'
implementation 'com.google.firebase:firebase-crash:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.android.support:support-v4:27.1.0'
implementation 'com.android.support:appcompat-v7:27.1.0'
但是,如果我尝试仅使用play-services
15.0.1(分析除外),那么这会再次警告我,使用不同版本的Play服务和Firebase服务会导致运行时崩溃。
因此,这使我处于一种奇怪的境地,我已经在Google上进行了搜索和搜索,但是找不到对我有用的任何东西……在这里处理这个问题的正确方法是什么?我应该满足12.0.1吗?或更新曾经有效的方法? (以前的版本是9.4.0或类似版本;在我进行Android 8.0升级之前)
编辑:这些是我的顶级gradle依赖项
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.google.gms:google-services:4.0.2'
答案 0 :(得分:5)
您不能将小于或等于12的Firebase和Google Play服务版本与大于或等于15的版本混合使用。
因此,您需要更新所有这些库的版本号:
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-analytics:15.0.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
implementation 'com.google.android.gms:play-services-gcm:15.0.1'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-analytics:16.0.1'
implementation 'com.google.firebase:firebase-crash:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.1.0'
检查:
https://firebase.google.com/support/release-notes/android
https://android-developers.googleblog.com/2018/05/announcing-new-sdk-versioning.html
从版本15开始,不再要求与
com.google.android.gms:play-services-*
和com.google.firebase:firebase-*
匹配的每个Maven依赖项都具有相同的版本号,以便在构建时和运行时正确运行。
还可以在顶级gradle文件中使用以下google play服务插件:
classpath 'com.google.gms:google-services:4.0.1'