android / android/app-bundle-samples
Resource Not Found Relaunch Application on-Demand Dynamic Feature Module
- Ngôn ngữ chính
- C++
- Star
- 735
- Fork
- 348
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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)
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu tại MainActivity.kt:158, nơi AnimationUtils.loadAnimation gây ra Resources$NotFoundException sau khi ứng dụng được khởi động lại. Xem xét mẫu dynamic feature và các triển khai BaseActivity và App attachBaseContext được cung cấp, sau đó tái hiện luồng khởi động lại khi feature đã được cài đặt. Hoàn tất khi feature activity khởi chạy sau khi khởi động lại mà không xảy ra crash do thiếu resource.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- android, kotlin
- Lĩnh vực
- build-system, mobile
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100