久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

更新到 Android Build Tools 25.1.6 GCM/FCM 后出現 Incomp

IncompatibleClassChangeError after updating to Android Build Tools 25.1.6 GCM / FCM(更新到 Android Build Tools 25.1.6 GCM/FCM 后出現 IncompatibleClassChangeError)
本文介紹了更新到 Android Build Tools 25.1.6 GCM/FCM 后出現 IncompatibleClassChangeError的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

自從我更新到 Android SDK Tools 25.1.6 和 Android Support Repository 32.0.0(今天早上)后,我收到了以下錯誤,我沒有更改我的代碼中的任何內容,它仍在我同事的計算機上運行(Android SDK 工具 25.1.1 + Android 支持存儲庫 30.0.0).

Since I updated to Android SDK Tools 25.1.6 and Android Support Repository 32.0.0 (this morning), I got the following error, I didn't change anything in my code and it is still working on my colleague computer (Android SDK Tools 25.1.1 + Android Support Repository 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 here
String instanceIDToken = instanceID.getToken(getString(R.string.google_app_id),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);

當我嘗試從 Google Cloud Messaging 獲取令牌時.

It is when I try to get a token from Google Cloud Messaging.

我正在使用拆分播放服務在 Gradle 中導入 GCM:

I'm importing GCM in Gradle with splited play-services :

 compile 'com.google.android.gms:play-services-analytics:9.0.0' 
 compile 'com.google.android.gms:play-services-maps:9.0.0'
 compile 'com.google.android.gms:play-services-location:9.0.0' 
 compile 'com.google.android.gms:play-services-gcm:9.0.0' 
 compile 'com.google.android.gms:play-services-base:9.0.0'

編輯禁用 GCM 解決了這個問題,所以我猜我應該遷移到 Firebase Cloud Message

EDIT disabling GCM fixed the problem, so my guess is I should migrate to Firebase Cloud Message

EDIT2我的設備接收 Google Play Services 9.0(昨天是 8.4.x).現在它不再崩潰了,但是抱怨模塊描述符

EDIT2 My device receive Google Play Services 9.0 (yesterday was 8.4.x). Now it doesn't crash anymore, but complain about module descriptor

 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.

有沒有人遇到過類似的錯誤,如何解決?

Does anyone has a similar error, and how to fix it ?

已修復特別感謝@stegranet../gradlew -q app:dependencies --configuration compile 幫助您識別 SDK 24.x 包含哪些依賴項

FIXED special thanks to @stegranet. ./gradlew -q app:dependencies --configuration compile helps you to identify what dependencies include SDK 24.x

主要問題是某些庫使用 + 符號而不是版本導入最新的支持庫.這會導致問題,包括最新的可用版本.

Main issue is some library import the latest support library using + sign instead of a version. This cause the issue, by including the latest available version.

所以避免 + 登錄依賴 ;)

So avoid + sign in dependencies ;)

推薦答案

我使用gradle依賴樹為我解決了這個錯誤.

I used the gradle dependency tree to solve this error for me.

只需運行 gradle -q app:dependencies --configuration compile并檢查輸出是否有這樣的條目:

Just run gradle -q app:dependencies --configuration compile and check the output for entries like this:

+--- com.mcxiaoke.viewpagerindicator:library:2.4.1
|    --- com.android.support:support-v4:+ -> 24.0.0-beta1 (*)

正如 Diego Giorgini 所說,這個版本太高了 (>=24).所以像

As Diego Giorgini said this version is too high (>=24). So update the dependencies in build.gradle like

compile('com.mcxiaoke.viewpagerindicator:library:2.4.1') {
    exclude module: 'support-v4';
}
compile 'com.android.support:support-v4:23.4.0'

這篇關于更新到 Android Build Tools 25.1.6 GCM/FCM 后出現 IncompatibleClassChangeError的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to get current flavor in gradle(如何在 gradle 中獲取當前風味)
How to fix quot;unexpected element lt;queriesgt; found in lt;manifestgt;quot; error?(如何修復“意外元素lt;查詢gt;在“清單中找到錯誤?)
Multi flavor app based on multi flavor library in Android Gradle(基于 Android Gradle 中多風味庫的多風味應用)
Android dependency has different version for the compile and runtime(Android 依賴在編譯和運行時有不同的版本)
Transitive dependencies for local aar library(本地 aar 庫的傳遞依賴)
Why I#39;m Getting Duplicate Class When Running My Android Project(為什么我在運行我的 Android 項目時得到重復的類)
主站蜘蛛池模板: 国产精品久久久久久吹潮 | 久久免费福利 | 成人日韩| 中文字幕第一页在线 | 成人在线一区二区 | 精品国产乱码一区二区三区 | 一区欧美| 四虎永久在线精品免费一区二 | 成人免费在线播放视频 | 国产aaaaav久久久一区二区 | 国产天天操 | 欧美在线二区 | 国产一级视频免费播放 | 91国产精品 | 成人小视频在线观看 | 一二区视频 | 国产专区视频 | 中文字幕 在线观看 | 最新av片 | 在线观看免费福利 | 国产在线视频一区 | 国产精品久久久久久久久久久新郎 | 国产一区h | 日韩免费网| 古装人性做爰av网站 | 日本高清视频网站 | 亚洲精品黄色 | 欧美美女爱爱视频 | 色婷婷影院 | 国产精品精品视频一区二区三区 | 三级免费av | 成人午夜视频在线观看 | 亚洲精品乱码久久久久久按摩 | 国产精品视频一区二区三区 | aaaa网站 | 成人综合在线视频 | 操射视频 | 国产精品久久久久久久久久免费看 | 日韩欧美一区二区三区免费看 | 久草青青草 | 香蕉久久久 |