无法获取提供者androidx.lifecycle.ProcessLifecycleOwnerInitializr [英] Unable to get provider androidx.lifecycle.ProcessLifecycleOwnerInitializr

查看:2040
本文介绍了无法获取提供者androidx.lifecycle.ProcessLifecycleOwnerInitializr的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在具有Android 4.4的设备上运行具有相关性'androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03''androidx.lifecycle:lifecycle-viewmodel:2.1.0-alpha03'的应用程序时出错.

Getting error while running app which have dependencies 'androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03' and 'androidx.lifecycle:lifecycle-viewmodel:2.1.0-alpha03' on device with Android 4.4.

在装有Android 6的设备上工作正常

Works fine in device with 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]]

推荐答案

感谢 Andrews Alves

发帖

这是一个敏捷问题.在Android 4.4中

It was a Dex problem. in android 4.4

1-在应用程序gradle中,在defaultConfig内启用multidex

1 - in app gradle, inside defaultConfig enable multidex

defaultConfig{
  ....
  multiDexEnabled true
}

2-要在其他版本中支持multidex,请将此依赖项添加到您的应用gradle中

2 - to support multidex in other versions, add this dependency to your app gradle

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

3-如果您有一个扩展Application的类,请使其扩展

3 - if you have a class that extends Application, make it extend

MultiDexApplication

MultiDexApplication

如果不这样做,请将其添加到应用程序标记内的清单文件中

if you don't, add this to your manifest file inside application tag

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

此外,如果您创建了一个新应用程序,请不要忘记将以下内容添加到您的app/build.gradle

Besides, if you created a new application, dont forget to add the following to your app/build.gradle

android {
    defaultConfig {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

就是这样.为我工作

这篇关于无法获取提供者androidx.lifecycle.ProcessLifecycleOwnerInitializr的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆