2017-08-25 16 views
0

我启用FCM在我的项目,但得到以下错误:火力地堡云消息引起java.lang.NoSuchFieldError的:无类型的字段GOOGLE_PLAY_SERVICES_VERSION_CODE我

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.app, PID: 28654 
java.lang.NoSuchFieldError: No field GOOGLE_PLAY_SERVICES_VERSION_CODE of type I in class Lcom/google/android/gms/common/zzc; or its superclasses (declaration of 'com.google.android.gms.common.zzc' appears in /data/app/com.example.app-2/base.apk:classes40.dex) 
    at com.google.android.gms.common.GoogleApiAvailability.<clinit>(Unknown Source) 
    at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source) 
    at com.google.android.gms.common.api.GoogleApiClient$Builder.<init>(Unknown Source) 
    at com.example.app.location.MyLocationManager.<init>(MyLocationManager.java:39) 

在我gradle这个文件,我有:

provided "com.google.firebase:firebase-core:10.2.6" 

,并在其图书馆之一:

compile libraries.firebase.messaging 

在我dependencies.gradle:

libraries = [ 
    firebase : [ 
    crash : "com.google.firebase:firebase-crash:$versions.google.play.services", 
    messaging: "com.google.firebase:firebase-messaging:$versions.google.play.services" 
    ], 
] 

并且在该行MyLocationManager.java我:

GoogleApiClient apiClient = new GoogleApiClient.Builder(context) 
     .addApi(LocationServices.API) 
     .addConnectionCallbacks(this) 
     .addOnConnectionFailedListener(this) 
     .build(); 

所以什么问题吗?

+0

请发布您的gradle文件 – phpdroid

+0

@phpdroid因为它太长了,我只发布了Firebase相关行。 –

回答

0

通过compile 'com.google.firebase:firebase-messaging:11.2.0'
更换compile libraries.firebase.messaging
并确保使用同一版本即11.2.0每一个谷歌的服务。

+0

不幸的是,这并没有改变任何东西。我忘了提到dependencies.gradle,所以我认为编译libraries.firebase.messaging到目前为止是好的。有一件事,图书馆没有编译谷歌服务11.2.0,所以我把它重新设置为10.2.6,也是我的应用程序到10.2.6 –