2016-10-05 4 views
-3

Я получаю ошибку ниже каждый раз, когда я строю свой APK; Gradle сборка показывает, что это было сделано успешно, но при установке APK на моем телефоне, он выходит из строя каждого разаAndroid APK сбой даже градиентной сборки закончен успешно

10-04 22:52:53.848 9297-9297/com.usfca.studentrecordsverify E/Trace: error opening trace file: No such file or directory (2) 
10-04 22:52:53.908 9297-9297/com.usfca.studentrecordsverify E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources 
10-04 22:52:53.908 9297-9297/com.usfca.studentrecordsverify W/dalvikvm: VFY: unable to resolve check-cast 1786 (Landroid/util/ArrayMap;) in Lcom/android/tools/fd/runtime/MonkeyPatcher; 
10-04 22:52:53.908 9297-9297/com.usfca.studentrecordsverify E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache 
10-04 22:52:53.908 9297-9297/com.usfca.studentrecordsverify W/dalvikvm: VFY: unable to resolve const-class 1786 (Landroid/util/ArrayMap;) in Lcom/android/tools/fd/runtime/MonkeyPatcher; 
10-04 22:52:53.928 9297-9297/com.usfca.studentrecordsverify W/dalvikvm: VFY: unable to resolve virtual method 437: Landroid/content/Context;.getSystemService (Ljava/lang/Class;)Ljava/lang/Object; 
10-04 22:52:53.928 9297-9297/com.usfca.studentrecordsverify W/dalvikvm: VFY: unable to resolve virtual method 231: Landroid/app/Activity;.stopLockTask()V 
10-04 22:52:53.928 9297-9297/com.usfca.studentrecordsverify E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.usfca.studentrecordsverify.MainActivity.access$super 
10-04 22:52:53.928 9297-9297/com.usfca.studentrecordsverify W/dalvikvm: VFY: unable to resolve check-cast 226 (Landroid/os/PersistableBundle;) in Lcom/usfca/studentrecordsverify/MainActivity; 
10-04 22:52:53.928 9297-9297/com.usfca.studentrecordsverify W/dalvikvm: VFY: unable to resolve virtual method 419: Landroid/content/Context;.getColorStateList (I)Landroid/content/res/ColorStateList; 
10-04 22:52:53.928 9297-9297/com.usfca.studentrecordsverify W/dalvikvm: VFY: unable to resolve virtual method 154: Landroid/app/Activity;.onVisibleBehindCanceled()V 
10-04 22:52:53.928 9297-9297/com.usfca.studentrecordsverify W/dalvikvm: VFY: unable to resolve virtual method 158: Landroid/app/Activity;.onWindowStartingActionMode (Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode; 
10-04 22:52:53.928 9297-9297/com.usfca.studentrecordsverify E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.usfca.studentrecordsverify.MainActivity.access$super 

Вот build.gradle

+1

Пожалуйста, отформатируйте свой вопрос в первую очередь правильно. –

+0

Кажется, время выполнения Android не может быть найдено. Можете ли вы поделиться своим файлом градации? Вы используете это на телефоне или эмуляторе? – orip

+0

Я работал на своем телефоне. Android 4.2.2, я попробовал работать на эмуляторе с Android 5.0 –

ответ

0

android.util.ArrayMap был введен с API-Level 19 (ArrayMap). Если вы запустите код на устройстве Android 4.2.2, он не найдет этот класс на вашем устройстве, и ваше приложение выйдет из строя.

Вместо этого вы можете использовать java.util.Map. Он не так эффективен, как ArrayMap, но доступен на любой платформе Android.

+0

Я попытался запустить его в Android 5.0, 6.0 даже он не работает; Также получить то же самое в эмуляторах с уровнем API 21 –

+0

Вы пытались отключить Instant Run. Кроме того, ваши библиотеки поддержки немного устарели. 24.2.1. Может быть, это помогает. Кроме того, я действительно проверял бы, если не использовать API, который недоступен на вашем оборудовании. – Christopher

0

изменить minSdkVersion до 19

defaultConfig { 
    applicationId "com.usfca.studentrecordsverification" 
    minSdkVersion 19 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 

Поскольку ArrayMap был введен с API-Level 19!

Смежные вопросы