Obtenir une erreur lors de l'exécution de l'application qui ont des dépendances 'androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03'
et 'androidx.lifecycle:lifecycle-viewmodel:2.1.0-alpha03'
sur le périphérique avec Android 4.4.
Fonctionne bien dans le périphérique avec Android 6
App s'est écrasé avec une erreur
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]]
Dans mon cas, d'une manière ou d'une autre Android Fichiers de cycle de vie d'architecture d'architecture est omis avec Android Bundle sur la tarte (Android9). Alors qu'est-ce que j'ai a ajouté conserver la déclaration pour la même chose dans proguard-rules.pro
Pour Androidx:
-keep class androidx.lifecycle.** {*;}
Pour le soutien:
-keep class Android.Arch.lifecycle.** {*;}
Vous pouvez trouver les documents officiels sur MultiDX ici . Utilisez ce lien pour vérifier la dernière version de dépendance multidex supérieures.
si vous utilisez Androidx
dependencies {
def multidex_version = "2.0.1" // Check this from the link
implementation 'androidx.multidex:multidex:$multidex_version'
}
sinon utiliser
dependencies {
implementation 'com.Android.support:multidex:1.0.3'
}