2016-09-28 2 views
0

나는 아무것도하지 않았지만 logcat에는 "IncompatibleClassChangeError"가 있습니다.이 GCM IncompatibleClassChangeError를 어떻게 해결할 수 있습니까?

 FATAL EXCEPTION: IntentService[] 
              Process:  com.yorgan.ilknurbalcipc.yorgan, PID: 982 
              java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)' was expected to be of type virtual but instead was found to be of type direct (declaration of 'com.google.android.gms.iid.zzd' appears in /data/data/com.yorgan.ilknurbalcipc.yorgan/files/instant-run/dex/slice-com.google.android.gms-play-services-gcm-8.4.0_8028f35ea877b98f3f5d34335c02399b7cabc31e-classes.dex) 
               at com.google.android.gms.iid.zzd.zzeb(Unknown Source) 
               at com.google.android.gms.iid.zzd.<init>(Unknown Source) 
               at com.google.android.gms.iid.zzd.<init>(Unknown Source) 
               at com.google.android.gms.iid.InstanceID.zza(Unknown Source) 
               at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source) 
               at com.yorgan.ilknurbalcipc.yorgan.CARDS.GOOGLE_CLOUD_MESSAGING.GCMRegistrationIntentService.registerGCM(GCMRegistrationIntentService.java:62) 
               at com.yorgan.ilknurbalcipc.yorgan.CARDS.GOOGLE_CLOUD_MESSAGING.GCMRegistrationIntentService.onHandleIntent(GCMRegistrationIntentService.java:36) 
               at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66) 
               at android.os.Handler.dispatchMessage(Handler.java:102) 
               at android.os.Looper.loop(Looper.java:148) 
               at android.os.HandlerThread.run(HandlerThread.java:61) 

그리고 내 컴파일 SDK 버전은 24입니다, 내가 가진

 compile 'com.google.android.gms:play-services:8.4.0' 

     classpath 'com.google.gms:google-services:2.0.0-alpha3' 

는 버전이 호환되지 않습니다. 컴파일 SDK 버전이 23이면 응용 프로그램이 작동합니다. 이 경우 응용 프로그램은 API 24 장치에서 작동하지 않습니다.

답변

0

이유는 이전 버전의 Google Play 서비스 (8.4.0) 때문입니다. 라이브러리의 이전 버전으로 프로젝트를 컴파일하면 오류가 발생합니다 (이 방법은 정적이 아닐 수 있습니다). 업데이트 된 버전 (9.4)으로 다시 컴파일하려면 코드가 변경되지 않아 문제가 해결 될 것이라고 생각합니다. 프로젝트의 build.gradle에서

0

앱의 build.gradle

compile 'com.google.android.gms:play-services:9.6.0' 

에서 사용이이

classpath 'com.google.gms:google-services:3.0.0' 
관련 문제