android / android/large-screen-codelabs
Exception: Unable to get provider androidx.startup.InitializationProvider, when applicationId is not same as package name in Activity_Embedding sample
- Dominant language
- Kotlin
- Stars
- 60
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
In Activity_Embedding sample, has this code:
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
Contributor guide
Research direction
Start in the Activity_Embedding sample's manifest provider configuration and compare its applicationId with the package declaration. Reproduce the issue by changing the sample's applicationId, then verify that the sample launches without the androidx.startup ClassNotFoundException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100