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

Open
#23 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.