Как найти причину java.lang.IllegalStateException?
в Google Play Console мне пришло уведомление о сбое моего небольшого приложения на устройстве Xiaomi Mi 10 (код ниже). Я в Android Studio все проверил много раз, но таких сбоев не нашлось. Как я могу узнать откуда он? Спасибо.
java.lang.IllegalStateException: at androidx.fragment.app.FragmentManager.ensureExecReady (FragmentManager.java:1931) at androidx.fragment.app.FragmentManager.execSingleAction (FragmentManager.java:1967) at androidx.fragment.app.BackStackRecord.commitNow (BackStackRecord.java:305) at androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer.updateFragmentMaxLifecycle (FragmentStateAdapter.java:726) at androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer$3.onStateChanged (FragmentStateAdapter.java:657) at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent (LifecycleRegistry.java:354) at androidx.lifecycle.LifecycleRegistry.backwardPass (LifecycleRegistry.java:284) at androidx.lifecycle.LifecycleRegistry.sync (LifecycleRegistry.java:302) at androidx.lifecycle.LifecycleRegistry.moveToState (LifecycleRegistry.java:148) at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent (LifecycleRegistry.java:134) at androidx.fragment.app.Fragment.performDestroy (Fragment.java:3215) at androidx.fragment.app.FragmentStateManager.destroy (FragmentStateManager.java:774) at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:350) at androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation.complete (SpecialEffectsController.java:742) at androidx.fragment.app.SpecialEffectsController$Operation.cancel (SpecialEffectsController.java:594) at androidx.fragment.app.SpecialEffectsController.forceCompleteAllOperations (SpecialEffectsController.java:329) at androidx.fragment.app.SpecialEffectsController.executePendingOperations (SpecialEffectsController.java:264) at androidx.fragment.app.FragmentManager.executeOpsTogether (FragmentManager.java:2202) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute (FragmentManager.java:2100) at androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:2002) at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:3136) at androidx.fragment.app.FragmentManager.dispatchActivityCreated (FragmentManager.java:3070) at androidx.fragment.app.FragmentController.dispatchActivityCreated (FragmentController.java:251) at androidx.fragment.app.FragmentActivity.onStart (FragmentActivity.java:501) at androidx.appcompat.app.AppCompatActivity.onStart (AppCompatActivity.java:210) at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1436) at android.app.Activity.performStart (Activity.java:8124) at android.app.ActivityThread.handleStartActivity (ActivityThread.java:3527) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence (TransactionExecutor.java:221) at android.app.servertransaction.TransactionExecutor.cycleToPath (TransactionExecutor.java:201) at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:173) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2108) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:236) at android.app.ActivityThread.main (ActivityThread.java:7876) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:967)
Библиотека gradle
plugins < id 'com.android.application' id 'kotlin-android' >android < compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig < applicationId "my.price.finder" minSdkVersion 26 targetSdkVersion 30 versionCode 400022 versionName "2.0.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" >buildTypes < release < minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' >> splits < abi < enable true reset() include "x86", "armeabi-v7a", "arm64-v8a", "x86_64" universalApk false >> compileOptions < sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 >kotlinOptions < jvmTarget = '1.8' >> dependencies
Lang illegalargumentexception как исправить java
IllegalArgumentException — это исключение, которое генерируется при передаче некорректных аргументов методу. Для исправления этой ошибки необходимо определить, какой метод вызывает исключение, и проанализировать передаваемые ему аргументы. Проверьте, что передаваемые значения соответствуют ожидаемым типам данных и допустимым диапазонам значений.
Например, если исключение IllegalArgumentException возникает при вызове метода Integer.parseInt() , проверьте, что передаваемая строка содержит только допустимые символы для целого числа, а также что значение входит в допустимый диапазон значений для типа int
Вот пример кода, который может вызвать IllegalArgumentException при передаче неверного аргумента:
// вызов метода Integer.parseInt() с некорректной строкой int value = Integer.parseInt("abc");
Чтобы избежать этой ошибки, убедитесь, что передаваемая строка содержит только цифры, а не буквы или другие символы:
String str = "123"; int value = Integer.parseInt(str);
Если вы не уверены, какой метод вызывает исключение IllegalArgumentException , обычно сообщение об ошибке содержит информацию о том, в какой строке кода возникло исключение и какой метод вызывался в этой строке. Используйте эту информацию для определения проблемы и ее решения.
Как избавиться от java.lang.IllegalStateException при вызове addToBackStack?
При вызове метода addToBackStack иногда происходит java.lang.IllegalStateException: Activity has been destroyed. И как от этого избавиться?
public void addMainFragment() < hideKeyboard(); if (mainFragment == null) < mainFragment = new MainFragment(); >final FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.add(R.id.containerFrameLayout, mainFragment, "MainFragment"); ft.addToBackStack("MainFragment"); ft.commitAllowingStateLoss(); getSupportFragmentManager().executePendingTransactions(); >
- Вопрос задан более трёх лет назад
- 25156 просмотров
1 комментарий
Оценить 1 комментарий
Ошибка запуска системы обновления java.lang.IllegalStateException: PKI
Здравствуйте. Обновил сертификат RSA и теперь в логах «updater» выдает ошибку «Ошибка запуска системы обновления java.lang.IllegalStateException: PKI»и службы УТМ останавливаются.
До обновления
После обновления
update.log
2018-12-11 10:08:43,804 INFO es.programador.transport.updater.h — Запуск системы обновления
2018-12-11 10:08:45,418 INFO es.programador.transport.updater.h — Updater version: [3.0.8b000436] changeset: [8e580a4b2c8e+]
2018-12-11 10:08:45,463 DEBUG es.programador.transport.a.d — Битность системы: [32]
2018-12-11 10:08:45,467 DEBUG es.programador.transport.a.d — Версия системы: [Windows 7]
2018-12-11 10:08:45,469 DEBUG es.programador.transport.a.d — Windows: [true]
2018-12-11 10:08:45,470 DEBUG es.programador.transport.a.d — Linux: [false]
2018-12-11 10:08:45,485 DEBUG es.programador.transport.updater.h — Для RSA будет использоваться библиотека [C:\Windows\System32\rtPKCS11ECP-replica.dll]
2018-12-11 10:08:45,507 DEBUG es.programador.transport.a.d — Битность системы: [32]
2018-12-11 10:08:45,509 DEBUG es.programador.transport.a.d — Нативные файла находятся здесь:[C:\UTM\updater\lib\x32]
2018-12-11 10:08:45,566 DEBUG es.programador.transport.a.d — Создавать PKCS11 файл:always
2018-12-11 10:08:45,571 DEBUG es.programador.transport.a.d — Загрузка нативных библиотек из папки: [C:\UTM\updater\lib\x32]
2018-12-11 10:08:45,589 DEBUG es.programador.transport.a.b — Инициализация PKCS11. Начало
2018-12-11 10:08:45,598 DEBUG es.programador.transport.a.b — PKCS11 файл настройек: [C:\UTM\updater\lib\pkcs11.cfg]
2018-12-11 10:08:45,671 DEBUG es.programador.transport.a.b — PKCS11-библиотека:C:/Windows/System32/rtPKCS11ECP-replica.dll
2018-12-11 10:08:45,671 DEBUG es.programador.transport.a.b — Поиск номера слота смарт-карты (Sun/Oracle API)
2018-12-11 10:08:45,920 INFO es.programador.transport.a.b — Найден слот смарт-карты [0:Rutoken ECP ]
2018-12-11 10:08:45,923 DEBUG es.programador.transport.a.b — Конфигурационный файл: [name=TransportTerminal
library = «C:/Windows/System32/rtPKCS11ECP-replica.dll»
showInfo=true
slotListIndex=0]
2018-12-11 10:08:54,432 ERROR es.programador.transport.updater.h — Ошибка запуска системы обновления
java.lang.IllegalStateException: PKI хранилище не содержит подходящего сертификата
at es.programador.transport.a.b.a(Unknown Source)
at es.programador.transport.a.b.b(Unknown Source)
at es.programador.transport.updater.Main.a(Unknown Source)
at es.programador.transport.updater.Main.main(Unknown Source)
2018-12-11 10:08:54,476 INFO es.programador.transport.updater.h — Завершение работы (ShutdownHook)
2018-12-11 10:08:54,477 DEBUG es.programador.transport.updater.h — Остановка работы с RSA-криптографией
2018-12-11 10:08:54,502 INFO es.programador.transport.a.b — Начало вызова методов финализации
2018-12-11 10:08:54,503 INFO es.programador.transport.a.b — Используется Oracle/Sun API
2018-12-11 10:08:54,512 INFO es.programador.transport.a.b — Завершение вызова методов финализации
2018-12-11 10:11:22,795 INFO es.programador.transport.updater.h — Запуск системы обновления
2018-12-11 10:11:24,074 INFO es.programador.transport.updater.h — Updater version: [3.0.8b000436] changeset: [8e580a4b2c8e+]
2018-12-11 10:11:24,120 DEBUG es.programador.transport.a.d — Битность системы: [32]
2018-12-11 10:11:24,124 DEBUG es.programador.transport.a.d — Версия системы: [Windows 7]
2018-12-11 10:11:24,126 DEBUG es.programador.transport.a.d — Windows: [true]
2018-12-11 10:11:24,128 DEBUG es.programador.transport.a.d — Linux: [false]
2018-12-11 10:11:24,143 DEBUG es.programador.transport.updater.h — Для RSA будет использоваться библиотека [C:\Windows\System32\rtPKCS11ECP-replica.dll]
2018-12-11 10:11:24,165 DEBUG es.programador.transport.a.d — Битность системы: [32]
2018-12-11 10:11:24,167 DEBUG es.programador.transport.a.d — Нативные файла находятся здесь:[C:\UTM\updater\lib\x32]
2018-12-11 10:11:24,215 DEBUG es.programador.transport.a.d — Создавать PKCS11 файл:always
2018-12-11 10:11:24,220 DEBUG es.programador.transport.a.d — Загрузка нативных библиотек из папки: [C:\UTM\updater\lib\x32]
2018-12-11 10:11:24,238 DEBUG es.programador.transport.a.b — Инициализация PKCS11. Начало
2018-12-11 10:11:24,244 DEBUG es.programador.transport.a.b — PKCS11 файл настройек: [C:\UTM\updater\lib\pkcs11.cfg]
2018-12-11 10:11:24,257 DEBUG es.programador.transport.a.b — PKCS11-библиотека:C:/Windows/System32/rtPKCS11ECP-replica.dll
2018-12-11 10:11:24,257 DEBUG es.programador.transport.a.b — Поиск номера слота смарт-карты (Sun/Oracle API)
2018-12-11 10:11:24,497 INFO es.programador.transport.a.b — Найден слот смарт-карты [0:Rutoken ECP ]
2018-12-11 10:11:24,500 DEBUG es.programador.transport.a.b — Конфигурационный файл: [name=TransportTerminal
library = «C:/Windows/System32/rtPKCS11ECP-replica.dll»
showInfo=true
slotListIndex=0]
2018-12-11 10:11:29,326 ERROR es.programador.transport.updater.h — Ошибка запуска системы обновления
java.lang.IllegalStateException: PKI хранилище не содержит подходящего сертификата
at es.programador.transport.a.b.a(Unknown Source)
at es.programador.transport.a.b.b(Unknown Source)
at es.programador.transport.updater.Main.a(Unknown Source)
at es.programador.transport.updater.Main.main(Unknown Source)
2018-12-11 10:11:29,368 INFO es.programador.transport.updater.h — Завершение работы (ShutdownHook)
2018-12-11 10:11:29,369 DEBUG es.programador.transport.updater.h — Остановка работы с RSA-криптографией
2018-12-11 10:11:29,424 INFO es.programador.transport.a.b — Начало вызова методов финализации
2018-12-11 10:11:29,424 INFO es.programador.transport.a.b — Используется Oracle/Sun API
2018-12-11 10:11:29,432 INFO es.programador.transport.a.b — Завершение вызова методов финализации
#2 Ответ от Rassel 2018-12-11 11:57:08
Re: Ошибка запуска системы обновления java.lang.IllegalStateException: PKI
Все заработала, через 1 час
#3 Ответ от Ксения Шаврова 2018-12-11 12:10:08
- Ксения Шаврова
- Администратор
- Неактивен
Re: Ошибка запуска системы обновления java.lang.IllegalStateException: PKI
Здравствуйте, Rassel, RSA сертификат выписывается по времени на сервере egais.ru
Если это время не совпадает с вашим, нужно ждать, пока сертификат станет действительным.
#4 Ответ от Vintik 2018-12-12 17:18:06
Re: Ошибка запуска системы обновления java.lang.IllegalStateException: PKI
Кто вам столько сертификатов записал на один ключ?!
Такого не должно быть
Не допускается эксплуатация аппаратного носителя:
без сертификата ключа КЭП,
без сертификата ключа RSA,
с сертификатом RSA, не соответствующим сертификату КЭП,
с использованием сертификата ключа КЭП с истекшим сроком действия,
с использованием сертификата ключа RSA с истекшим сроком действия,
с более, чем одним сертификатом КЭП,
с более, чем одним сертификатом RSA.
Сообщений 4
Страницы 1
Форум Рутокен → Вопросы по ЕГАИС → Ошибка запуска системы обновления java.lang.IllegalStateException: PKI
- Телефон +7 (495) 925-77-90
- 1994- © Компания «Актив»
- Москва , улица Шарикоподшипниковская, дом 1
- График работы: понедельник-пятница с 10:00 до 18:00