我的Android项目使用React-Native构建,并使用Google Play服务(分析、云消息和广告)。我没有在任何地方明确使用Firebase。
尝试将Play服务从8.4.0升级到9.2.0,同时升级了GPS类路径。
buildscript {
dependencies {
classpath 'com.google.gms:google-services:3.0.0'
...
dependencies {
compile 'com.google.android.gms:play-services-analytics:9.2.1'
compile 'com.google.android.gms:play-services-ads:9.2.1'
compile 'com.google.android.gms:play-services-base:9.2.1'
compile 'com.google.android.gms:play-services-gcm:9.2.1'
注意,我没有明确地依赖Firebase。
自从升级后,我遇到了以下Gradle构建错误:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/firebase/FirebaseApiNotAvailableException.class
我知道Firebase随Google Play服务捆绑提供(自9.0开始),所以我想可能有其他东西正在编译和链接旧版本。因此,在查看依赖关系(gradle -q dependencyInsight --configuration compile --dependency firebase
)时,我注意到firebase-common 9.0.0被添加到9.2.1的顶部:
但是我无论如何都找不出原因。
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/common/api/zze.class
。将版本回滚到9.2.1后问题得到解决。感谢您的帖子! - mienaikoe