Невозможно получить поставщика androidx.lifecycle.ProcessLifecycleOwnerInitializr - PullRequest
1 голос
/ 15 марта 2019

Ошибка при запуске приложения с зависимостями 'androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03' и 'androidx.lifecycle:lifecycle-viewmodel:2.1.0-alpha03' на устройстве с Android 4.4.

Прекрасно работает на устройстве с Android 6

Приложение зависало с ошибкой

java.lang.RuntimeException: Unable to get provider androidx.lifecycle.ProcessLifecycleOwnerInitializer: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.ProcessLifecycleOwnerInitializer" on path: DexPathList[[zip file "/data/app/**********.apk"],nativeLibraryDirectories=[/data/app-lib/***********, /vendor/lib, /system/lib]]
    at android.app.ActivityThread.installProvider(ActivityThread.java:5052)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:4623)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4563)
    at android.app.ActivityThread.access$1500(ActivityThread.java:151)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1402)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:5333)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
    at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.ProcessLifecycleOwnerInitializer" on path: DexPathList[[zip file "/data/app/**********.apk"],nativeLibraryDirectories=[/data/app-lib/********, /vendor/lib, /system/lib]]

1 Ответ

4 голосов
/ 15 марта 2019

Спасибо Эндрю Алвес

Из поста

Это была проблема Декса.в Android 4.4

1 - в приложении gradle, внутри defaultConfig включить multidex

defaultConfig{
  ....
  multiDexEnabled true
}

2 - для поддержки multidex в других версиях, добавить эту зависимость в gradle вашего приложения

implementation 'com.android.support:multidex:1.0.3' 

3 - если у вас есть класс, расширяющий Application, сделайте так, чтобы он расширял

MultiDexApplication

, если нет, добавьте его в свой файл манифеста внутри приложениятег

android:name="android.support.multidex.MultiDexApplication" 

и все.работал на меня

...