2 / 2 / 0
Регистрация: 14.02.2012
Сообщений: 34
|
|
1 | |
Приложение падает на старых версиях OS24.01.2017, 12:56. Показов 859. Ответов 6
Метки fatal error (Все метки)
Ещё раз привет.
Ещё один крик души. * Не беспокойтесь, я не буду сливать каждую свою проблему сюда, это просто проблема №2 на эту неделю. Постараюсь начать принимать активное участие в жизни сообщества, что бы выразить благодарность за ответы. Есть приложение. Оно успешно работает на новых версиях андроида порядка 6.0 и выше. К нему прикручен крашлитикс, который инициализаруется в событии onCreate класса MyApp extends Application, и успешно отсылает мне баг-репорты при крашах. Но это приложение падает на старых версиях ОС или старых телефонах, баг-репорты при этом не приходят. Не на всех. Но точно замечены падения на телефонах с ОС 4 с чем-то (у коллеги стабильно повторяется). При этом на моём другом телефоне с такой же ОС при включённом режиме разработчика никаких падений не было(выключал все разрешения, сносил, ставил заново - падений нет). Как можно понять в чём может быть причина? Ниже прикладываю текст gradle app Покритикуйте, пож. Предполагаю, что мб дело в библиотеках, около которых стоит число 24. Код
buildscript { repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } android { lintOptions { checkReleaseBuilds false } signingConfigs { config { keyAlias 'NoName' keyPassword 'noname' storeFile file('../../keystore/nonamerest.jks') storePassword 'noname' } } compileSdkVersion 24 buildToolsVersion "24.0.1" defaultConfig { applicationId "ru.ma.NoName" minSdkVersion 15 targetSdkVersion 24 signingConfig signingConfigs.config versionCode 12 versionName "12" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' signingConfig signingConfigs.config debuggable false } debug { debuggable true signingConfig signingConfigs.config minifyEnabled false } } productFlavors { } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.github.manuelpeinado.multichoiceadapter:multichoiceadapter:3.0.0' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4' compile 'me.leolin:ShortcutBadger:1.1.4@aar' compile 'com.google.android.gms:play-services-gcm:10.0.0' compile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') { transitive = true; } compile 'de.greenrobot:greendao:2.1.0' compile 'com.android.support:design:24.1.0' }
0
|
24.01.2017, 12:56 | |
Ответы с готовыми решениями:
6
Информация по старых версиях: VB3,4,5 Тип auto в старых версиях компиляторов Необходимо запускат на старых версиях Windows Создание объекта в старых версиях JDK |
2 / 2 / 0
Регистрация: 14.02.2012
Сообщений: 34
|
|
24.01.2017, 14:52 [ТС] | 3 |
Вот в том то и вопрос - как получить эти самые логи, если на моём устройстве это не повторяется.
А на единственном устройстве по близости, где это воспроизводится, если включить режим разработчика(ведь иначе же лог не получить?), боюсь что может перестать воспроизводиться. Мб это наивный страх, и всё таки попробую сегодня отловить лог. Добавлено через 1 час 2 минуты Прошу прощение, глупый я. Ниже лог Пробую разобратсья в нём Буду благодарен, если кто подскажет в чём может быть дело. Код
01-24 14:15:09.148 21682-21682/ru.ma.MajorStudio W/dalvikvm: VFY: unable to resolve static field 20 (applicationId) in Lcom/android/tools/fd/runtime/AppInfo; 01-24 14:15:09.148 21682-21682/ru.ma.MajorStudio D/dalvikvm: VFY: replacing opcode 0x62 at 0x000d 01-24 14:15:09.148 21682-21682/ru.ma.MajorStudio W/dalvikvm: VFY: unable to resolve static field 19 (applicationClass) in Lcom/android/tools/fd/runtime/AppInfo; 01-24 14:15:09.158 21682-21682/ru.ma.MajorStudio D/dalvikvm: VFY: replacing opcode 0x62 at 0x0001 01-24 14:15:09.158 21682-21682/ru.ma.MajorStudio W/dalvikvm: VFY: unable to resolve static field 22 (usingApkSplits) in Lcom/android/tools/fd/runtime/AppInfo; 01-24 14:15:09.158 21682-21682/ru.ma.MajorStudio D/dalvikvm: VFY: replacing opcode 0x63 at 0x0000 01-24 14:15:09.158 21682-21682/ru.ma.MajorStudio W/dalvikvm: VFY: unable to resolve static field 22 (usingApkSplits) in Lcom/android/tools/fd/runtime/AppInfo; 01-24 14:15:09.158 21682-21682/ru.ma.MajorStudio D/dalvikvm: VFY: replacing opcode 0x63 at 0x0002 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio I/dalvikvm: Could not find method android.app.Application.registerOnProvideAssistDataListener, referenced from method com.android.tools.fd.runtime.BootstrapApplication.registerOnProvideAssistDataListener 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio W/dalvikvm: VFY: unable to resolve virtual method 15: Landroid/app/Application;.registerOnProvideAssistDataListener (Landroid/app/Application$OnProvideAssistDataListener;)V 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio I/dalvikvm: Could not find method android.app.Application.unregisterOnProvideAssistDataListener, referenced from method com.android.tools.fd.runtime.BootstrapApplication.unregisterOnProvideAssistDataListener 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio W/dalvikvm: VFY: unable to resolve virtual method 18: Landroid/app/Application;.unregisterOnProvideAssistDataListener (Landroid/app/Application$OnProvideAssistDataListener;)V 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio I/dalvikvm: DexOpt: unable to optimize static field ref 0x0013 at 0x12 in Lcom/android/tools/fd/runtime/BootstrapApplication;.<init> 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio I/dalvikvm: DexOpt: unable to optimize static field ref 0x0013 at 0x1d in Lcom/android/tools/fd/runtime/BootstrapApplication;.createRealApplication 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio I/dalvikvm: DexOpt: unable to optimize static field ref 0x0013 at 0x2a in Lcom/android/tools/fd/runtime/BootstrapApplication;.createRealApplication 01-24 14:15:09.168 21682-21682/ru.ma.MajorStudio I/dalvikvm: DexOpt: unable to optimize static field ref 0x0014 at 0x15 in Lcom/android/tools/fd/runtime/BootstrapApplication;.onCreate 01-24 14:15:09.178 21682-21682/ru.ma.MajorStudio I/dalvikvm: DexOpt: unable to optimize static field ref 0x0014 at 0x45 in Lcom/android/tools/fd/runtime/BootstrapApplication;.onCreate 01-24 14:15:09.178 21682-21682/ru.ma.MajorStudio I/dalvikvm: DexOpt: unable to optimize static field ref 0x0014 at 0x6f in Lcom/android/tools/fd/runtime/BootstrapApplication;.onCreate 01-24 14:15:09.178 21682-21682/ru.ma.MajorStudio I/dalvikvm: DexOpt: unable to optimize static field ref 0x0014 at 0x99 in Lcom/android/tools/fd/runtime/BootstrapApplication;.onCreate 01-24 14:15:09.178 21682-21682/ru.ma.MajorStudio D/AndroidRuntime: Shutting down VM 01-24 14:15:09.178 21682-21682/ru.ma.MajorStudio W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41f3b2a0) 01-24 14:15:09.178 21682-21682/ru.ma.MajorStudio E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.android.tools.fd.runtime.AppInfo at com.android.tools.fd.runtime.BootstrapApplication.<init>(BootstrapApplication.java:119) at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1319) at android.app.Instrumentation.newApplication(Instrumentation.java:997) at android.app.Instrumentation.newApplication(Instrumentation.java:982) at android.app.LoadedApk.makeApplication(LoadedApk.java:496) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4170) at android.app.ActivityThread.access$1400(ActivityThread.java:134) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4867) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774) at dalvik.system.NativeStart.main(Native Method) Так, нашёл вот такого бедолагу http://stackoverflow.com/quest... ntime-appi Убрал из настроек InstanceRun сбилдил dev версию (пока не проверял на том устройстве, где точно падает). А вот когда переключаю билд на сборку релизной версии - получаю даже на своём устройстве такую же ошибку!!! =) Не знаю, радоваться или плакать, но поползу разбираться, что у меня там с релизной версией не так, или где-то proguard не так настроен.
0
|
2 / 2 / 0
Регистрация: 14.02.2012
Сообщений: 34
|
|
24.01.2017, 16:24 [ТС] | 5 |
demixdn, спасибо, поправил, взял и там и там версию 24.2.
И моё приложение перестало падать, со слов подопытного!!! =D Что сделал: 1. Убрал в настройках instantRun. Хз зачем, где-то посоветовали. 2. Оказалось, что подопытным я раньше кидал debug версию приложения. 2. Сбилдил релизную версию - нарвался на проблемы с прогвардом - он брал правила из какого-то файла proguard-rules.txt (не всё это приложение моих рук дело), вместо него указал proguard-rules.pro. 3. Нарвался на то, что GreenDao начало рушить приложение, т.к. прогвард рушил её классы таблиц. Дописал в proguard-rules.pro три строчки для защиты от этого, взятые с оф сайта разработчиков GreenDao. 4. Релизная версия после этого у меня запустилась. Скинул подопотным, у них тоже запустилась. Как из этого вытащить основную причину, я пока не знаю, но эти телодвижения решили проблему падения. Однако, возникла другая проблема - мне говорят, что у них некоторые компоненты(Spinner и EditText около него) отображаются чёрным... хм, если сам не разберусь, то сюда ещё напишу. Если разберусь, тему можно считать закрытой.
0
|
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
|
|
25.01.2017, 21:30 | 6 |
Правильно посоветовали. Это причина многих трудноуловимых багов.
Вполне типичная ситуация, тут вы правильно поступили. На разных устройствах разные установки "по умолчанию". Начиная от размеров, заканчивая цветами. Поэтому нужно тестировать, а затем прописывать в стилях или непосредственно в компонентах нужные цвета.
1
|
2 / 2 / 0
Регистрация: 14.02.2012
Сообщений: 34
|
|
26.01.2017, 10:11 [ТС] | 7 |
Спасибо!
CoolMind, спасибо за разъяснения, они устранили большую часть моих сомнений в правильности проделанных действий. С компонентами, которые отображались чёрным, разобрался - просто у них стоял самодельный стиль "чёрная обводка", внутри которого была то ли заливка, то ли обводка чёрным (не помню сейчас). На новых версиях андроида всё отображалось как надо, а на старых видимо заливалось чёрным. Грохнул этот стиль, оставил их пока без стиля, просто дефолтными - всё предварительно работает теперь как надо. Эту тему можно закрывать, т.к. данная проблема решена. PS: Модеры, буду благодарен, если допишите в название темы "NoClassDefFoundError [Проблема решена]". т.к. частенько по сети встречал подобные темы без ответа. Ну, если конечно тут так принято.
1
|
26.01.2017, 10:11 | |
26.01.2017, 10:11 | |
Помогаю со студенческими работами здесь
7
Как работают VB программы на старых версиях Windows? Меню Start как в старых версиях Windows TextView глючит на старых версиях Android и в теме Holo Растянуть фоновый рисунок на весь экран. В старых версиях браузеров Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |