自从我更新到Android SDK Tools 25.1.6和Android Support Repository 32.0.0(今天上午)以来,出现以下错误,我没有更改代码中的任何内容,并且仍在我的同事计算机上正常工作(Android SDK Tools 25.1.1 + Android支持存储库30.0.0)。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 'java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar) 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.xxxxxxx.utils.RegistrationIntentService.onHandleIntent(RegistrationIntentService.java:55) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.os.HandlerThread.run(HandlerThread.java:61)这是崩溃的一段代码:InstanceID instanceID = InstanceID.getInstance(this); // <-- crash hereString instanceIDToken = instanceID.getToken(getString(R.string.google_app_id),GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);这是我尝试从Google Cloud Messaging获取令牌的时候。禁用GCM的EDIT解决了该问题,所以我的猜测是我应该迁移到Firebase Cloud MessageEDIT2 我的设备收到了Google Play服务9.0(昨天是8.4.x)。现在它不再崩溃了,但是抱怨模块描述符 Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" Firebase API initialization failure.有没有人有类似的错误,以及如何解决?已修复, 特别感谢@stegranet。 ./gradlew -q app:dependencies --configuration compile帮助您确定哪些依赖项包括SDK 24.x主要问题是某些库使用+符号(而不是版本)导入最新的支持库。通过包括最新的可用版本,这会导致问题。因此,避免+登录依赖项;)
3 回答
- 3 回答
- 0 关注
- 508 浏览
添加回答
举报
0/150
提交
取消