Skip to content

Exception: Unable to get provider androidx.startup.InitializationProvider, when applicationId is not same as package name in Activity_Embedding sample #23

Description

@DaZhaoGuo

In Activity_Embedding sample, has this code:

<provider
        android:name="androidx.startup.InitializationProvider"
        android:authorities="${applicationId}.androidx-startup"
        android:exported="false"
        tools:node="merge">

        <meta-data
            android:name="${applicationId}.SplitInitializer"
            android:value="androidx.startup" />
</provider>

when applicationId is not same as package name, Exception:

E  FATAL EXCEPTION: main (Ask Gemini)
Process: com.bagguo.samples, PID: 9395
java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: java.lang.ClassNotFoundException: com.bagguo.samples.SplitInitializer
  at android.app.ActivityThread.installProvider(ActivityThread.java:8633)
  at android.app.ActivityThread.installContentProviders(ActivityThread.java:8126)
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7812)
  at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2486)
  at android.os.Handler.dispatchMessage(Handler.java:106)
  at android.os.Looper.loopOnce(Looper.java:230)
  at android.os.Looper.loop(Looper.java:319)
  at android.app.ActivityThread.main(ActivityThread.java:9063)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by: androidx.startup.StartupException: java.lang.ClassNotFoundException: com.bagguo.samples.SplitInitializer
  at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:242)
  at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:206)
  at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:45)
  at android.content.ContentProvider.attachInfo(ContentProvider.java:2700)
  at android.content.ContentProvider.attachInfo(ContentProvider.java:2670)
  at android.app.ActivityThread.installProvider(ActivityThread.java:8628)
  at android.app.ActivityThread.installContentProviders(ActivityThread.java:8126) 
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7812) 
  at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2486) 
  at android.os.Handler.dispatchMessage(Handler.java:106) 
  at android.os.Looper.loopOnce(Looper.java:230) 
  at android.os.Looper.loop(Looper.java:319) 
  at android.app.ActivityThread.main(ActivityThread.java:9063) 
  at java.lang.reflect.Method.invoke(Native Method) 
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588) 
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103) 
Caused by: java.lang.ClassNotFoundException: com.bagguo.samples.SplitInitializer
  at java.lang.Class.classForName(Native Method)
  at java.lang.Class.forName(Class.java:607)
  at java.lang.Class.forName(Class.java:512)
  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:2700) 
  at android.content.ContentProvider.attachInfo(ContentProvider.java:2670) 
  at android.app.ActivityThread.installProvider(ActivityThread.java:8628) 
  at android.app.ActivityThread.installContentProviders(ActivityThread.java:8126) 
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7812) 
  at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2486) 
  at android.os.Handler.dispatchMessage(Handler.java:106) 
  at android.os.Looper.loopOnce(Looper.java:230) 
  at android.os.Looper.loop(Looper.java:319) 
  at android.app.ActivityThread.main(ActivityThread.java:9063) 
  at java.lang.reflect.Method.invoke(Native Method) 
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588) 
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103) 
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.bagguo.samples.SplitInitializer" on path: DexPathList[[zip file "/data/app/~~oStOCCPnGsjjIlq-6EVSmw==/com.bagguo.samples-S28UlZOXDYmdVJHYhCvRqg==/base.apk"],nativeLibraryDirectories=[/data/app/~~oStOCCPnGsjjIlq-6EVSmw==/com.bagguo.samples-S28UlZOXDYmdVJHYhCvRqg==/lib/arm64, /data/app/~~oStOCCPnGsjjIlq-6EVSmw==/com.bagguo.samples-S28UlZOXDYmdVJHYhCvRqg==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]]
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:637)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
  at java.lang.Class.classForName(Native Method) 
  at java.lang.Class.forName(Class.java:607) 
  at java.lang.Class.forName(Class.java:512) 
  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:2700) 
  at android.content.ContentProvider.attachInfo(ContentProvider.java:2670) 
  at android.app.ActivityThread.installProvider(ActivityThread.java:8628) 
  at android.app.ActivityThread.installContentProviders(ActivityThread.java:8126) 
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7812) 
  at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2486) 
  at android.os.Handler.dispatchMessage(Handler.java:106) 
  at android.os.Looper.loopOnce(Looper.java:230) 
  at android.os.Looper.loop(Looper.java:319) 
  at android.app.ActivityThread.main(ActivityThread.java:9063) 
  at java.lang.reflect.Method.invoke(Native Method) 
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588) 
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103) 

How to reproduce this issue?
-Change Sample's applicationId, error will be printed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions