繁体   English   中英

添加库时出现IllegalAccessError

[英]IllegalAccessError when I add a library

当我尝试添加此库时:

compile 'com.isupatches:wisefy:1.0.9'

我的应用出现此错误(未使用):

致命例外:IntentService [GCM]进程:my.app,PID:7667 java.lang.IllegalAccessError:类“ com.google.android.gms”无法访问方法“ void android.support.v4.content.ContextCompat。()” .iid.zzd”(“ com.google.android.gms.iid.zzd”的声明出现在com.google.android.gms上的/data/app/my.app-1/base.apk:classes2.dex中) com.google.android.gms.iid.zzd的.iid.zzd.zzdL(未知来源)com.google.android的com.google.android.gms.iid.zzd的(未知来源)。 .gms.iid.InstanceID.zza(未知来源),位于com.google.android.gms.iid.InstanceID.getInstance(未知来源),位于gcm.RegistrationIntentService.onHandleIntent(RegistrationIntentService.java:54),位于android.app.IntentService $ android.os.HandlerThread.run(HandlerThread)上的ServiceHandler.handleMessage(IntentService.java:67)android.os.Handler.dispatchMessage(Handler.java:102)android.os.Looper.loop(Looper.java:154) .java:61)

这是问题所在:

 InstanceID instanceID = InstanceID.getInstance(this);

我已经看到了此错误的原因,似乎是因为我使用的播放服务版本太旧了。

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

但是它在不添加wisefy的情况下仍能正常工作,所以如何隔离这个问题(因为我不想更新我的库)?

通过添加Wisefy ,因为它也使用了support-v4 (如play-services-gcm ),所以您的项目中将使用较新的support-v4版本,而您的旧play-services-gcm库将无法使用该版本。 这就是为什么您会收到此错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM