2017-04-09 116 views
4

我有有gradle這個依賴於支持庫添加gradle這個依賴,支持android.util.ArrayMap

compile 'com.android.support:support-v4:23.1.1' 

當我運行程序的示例項目這有時此異常occures:

Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources 

我搜索,找到我要補充這依賴於搖籃:

compile "com.android.support:support-core-utils:23.3.0" 

或 纂「com.android.support:support-core-utils:24.2.0」

所以我添加依賴性搖籃,但這次,當我嘗試運行應用程序,我得到這個錯誤:

Error:Error converting bytecode to dex: 
Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; 

我該怎麼辦?

+0

'當我運行程序時,有時會發生這種異常,並且它會崩潰你的應用程序? – azizbekian

+0

你有沒有試過這個:http://stackoverflow.com/a/21100040/5245903 –

+0

我不能說這是一個例外,導致崩潰的應用程序。沒有響應的應用程序對話框不會出現,我的應用程序會自動重新啓動 – Hojjat

回答

1

android.util.ArrayMap不是來自圖書館。這是Android固件的一部分,但僅限於API Level 19+設備。

因此,如果您的minSdkVersion低於19,並且您想要使用庫實現,請切換至android.support.v4.util.ArrayMap

+0

'從com.android.tools.fd.runtime.MonkeyPatcher方法引用'我覺得OP不直接使用它,它只是記錄它的系統。 – azizbekian