android / android/app-bundle-samples

Resource Not Found Relaunch Application on-Demand Dynamic Feature Module

Ouverte
#116 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
735
Forks
348
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

When I download the on demand dynamic feature module it works fine as soon as I restart application I get the crash "Resource not found" .
Heres the code that i copied from google dynamic features[ sample repo](https://github.com/googlearchive/android-dynamic-features)

```
private fun onSuccessfulLoad(moduleName: String, launch: Boolean) {
if (launch) {
when (moduleName) {
pagesfeatures -> launchActivity(mainActivity)
}
}

}
```
I have already overridden the code in BaseActivity and App class

```
open class BaseActivity: AppCompatActivity() {
override fun attachBaseContext(newBase: Context?) {
super.attachBaseContext(newBase)
SplitCompat.install(this)
}
}
public class App extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
SplitCompat.install(base);
}
}
```

But its crashing when i revisit the application

The Exception thats occurring in my logs Crashlytics

> Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.qp.readquranoffline.holybookreading/com.mycode.pagesfeature.activities.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7e010000
> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3621)
> at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3866)
> at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
> at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
> at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
> at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2190)
> at android.os.Handler.dispatchMessage(Handler.java:106)
> at android.os.Looper.loop(Looper.java:268)
> at android.app.ActivityThread.main(ActivityThread.java:8004)
> at java.lang.reflect.Method.invoke(Method.java)
> at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
> at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)
>
> Caused by android.content.res.Resources$NotFoundException: Resource ID #0x7e010000
> at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:248)
> at android.content.res.Resources.loadXmlResourceParser(Resources.java:2400)
> at android.content.res.Resources.getAnimation(Resources.java:1277)
> at android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:138)
> at com.mycode.quranpagesfeature.activities.MainActivity.onCreate(MainActivity.kt:158)
> at android.app.Activity.performCreate(Activity.java:8058)
> at android.app.Activity.performCreate(Activity.java:8042)
> at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1315)
> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3594)
> at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3866)
> at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
> at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
> at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
> at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2190)
> at android.os.Handler.dispatchMessage(Handler.java:106)
> at android.os.Looper.loop(Looper.java:268)
> at android.app.ActivityThread.main(ActivityThread.java:8004)
> at java.lang.reflect.Method.invoke(Method.java)
> at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
> at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par MainActivity.kt:158, où AnimationUtils.loadAnimation déclenche Resources$NotFoundException après le redémarrage de l’application. Examinez l’exemple de dynamic feature ainsi que les implémentations présentées de BaseActivity et App attachBaseContext, puis reproduisez le flux de redémarrage avec le feature installé. C’est terminé lorsque l’activité du feature se lance après le redémarrage sans le crash lié à la ressource manquante.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
android, kotlin
Domaine
build-system, mobile
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.