Я знаю, подобные вопросы задавались, но я думаю, у меня другая ситуация. Пожалуйста, не удаляйте.
Я начал получать ошибку NoClassDefFoundError после перехода на API 28, как и многие другие. Я видел, что другие сталкивались с этой проблемой, потому что Google устарел в классах org.apache, которые требовали изменения манифеста, но я не использую классы apache в своем проекте.
Что делает исследование трудным, так это то, что в трассировке стека нет пользовательских классов, и даже не ясно, какой класс не был найден. Хуже всего то, что я не могу воспроизвести ошибку в эмуляторе или на реальном устройстве, и могу видеть ее только в отчетах Google Play Store, которые показывают, что все сбои произошли на устройствах Android 9.
У меня есть два вопроса по этому поводу:
- Означает ли тот факт, что в трассировке стека нет пользовательских классов, это внутренняя проблема Google, и я не могу ее исправить?
- Как я могу изменить свой проект, чтобы получить больше информации, например, чтобы увидеть, какой класс не был найден?
Я думаю, что на несвязанной ноте обслуживание новых версий Android становится очень трудным, а их поддержка просто не существует, поэтому stackoverflow - моя последняя надежда.
java.lang.NoClassDefFoundError:
at com.google.android.a.a.m.d (m.java:266)
at com.google.android.a.a.m.a (m.java:113)
at com.google.android.a.a.g.a (g.java:206)
at com.google.android.a.a.g.a (g.java:166)
at com.google.android.a.a.e$a$2.run (e.java:242)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:214)
at android.os.HandlerThread.run (HandlerThread.java:65)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
at com.google.android.a.a.m.d (m.java:266)
at com.google.android.a.a.m.a (m.java:113)
at com.google.android.a.a.g.a (g.java:206)
at com.google.android.a.a.g.a (g.java:166)
at com.google.android.a.a.e$a$2.run (e.java:242)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:214)
at android.os.HandlerThread.run (HandlerThread.java:65)
Ниже приведены также все зависимости, которые я использую в этом проекте:
dependencies {
implementation fileTree(include: ['*.aar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:mediarouter-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:design:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.android.gms:play-services-vision:15.0.1'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
implementation 'com.google.android.gms:play-services-drive:15.0.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.google.code.gson:gson:2.8.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.google.android.gms:play-services-wearable:15.0.1'
implementation 'com.google.android.gms:play-services-tasks:15.0.1'
implementation files('libs/accessory-v2.5.3.jar')
implementation files('libs/sdk-v1.0.0.jar')
implementation files('libs/lvl.aar')
}
Это проект Kotlin, и версия Kotlin 1.3.10
Обновление:
Перекомпилировал тот же код с API 27, снова разместил приложение в Play Store и с тех пор не видел сбоев, так что он определенно специфичен для API 28.