Class not found exception: androidx.profileinstaller.ProfileInstallerInitializer

54 Views Asked by At

As the name suggest, I am investigating an issue after updating to AGP 8.2 and libraries to newest version. After released, my app starts to receiving crashes (mostly on Oppo devices) on android 8, 9. Crash look like this:

Caused by java.lang.ClassNotFoundException
Didn't find class "androidx.profileinstaller.ProfileInstallerInitializer" on path: DexPathList[[zip file "/data/app/myapppackage-qQ9d4bjx6IvdXnQJDXkmlw==/base.apk"],nativeLibraryDirectories=[/data/app/myapppackage-qQ9d4bjx6IvdXnQJDXkmlw==/lib/arm64, /data/app/myapppackage-qQ9d4bjx6IvdXnQJDXkmlw==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at java.lang.Class.classForName(Class.java)
    at java.lang.Class.forName(Class.java:453)
    at java.lang.Class.forName(Class.java:378)
    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:224)
    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:206)
    at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:45)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1951)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1926)
    at android.app.ActivityThread.installProvider(ActivityThread.java:6773)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6267)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6175)
    at android.app.ActivityThread.-wrap1()
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1848)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:210)
    at android.app.ActivityThread.main(ActivityThread.java:7080)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:523)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:863)

After investigating, it seems like that:

My questions are:

1/ Why did they add this androidx.profileinstaller to lots of libraries?

2/ So now the baseline profile will run automatically as with the crash stack trace on app startup?

3/ Do I need to setup the baseline profile (https://developer.android.com/topic/performance/baselineprofiles/overview)?

0

There are 0 best solutions below