Fixed
Status Update
Comments
ga...@google.com <ga...@google.com> #2
Thanks for filing the bug. I've examined the apk/bundle that you've uploaded, and I could not find any obvious reason why this issue might be happening. Because you are able to reliably reproduce the issue, can you please capture and upload a bug report (https://developer.android.com/studio/debug/bug-report )? This should contain more information why the error occurs.
ca...@instantbits.com <ca...@instantbits.com> #3
I put the bug report on the same gdrive folder I shared. Let me know if you can't access it or if I captured it wrong.
ga...@google.com <ga...@google.com> #4
Here is the bug report shared by the reporter:
https://drive.google.com/a/google.com/file/d/1n6mDNfeDLudtbGzeceCa5JlM2AP21Ij5/view?usp=drive_web (bugreport.txt)
Todd, can you please have a look. There is a ResourceManager error log before the exception occurs.
Todd, can you please have a look. There is a ResourceManager error log before the exception occurs.
ca...@instantbits.com <ca...@instantbits.com> #6
ko...@gmail.com <ko...@gmail.com> #7
From issue marked duplicate: https://issuetracker.google.com/issues/119839527
================================
Steps to reproduce the problem:
Send push notification
What happened:
App crashed. Based on crashes received from Fabric.
Mostly happens on:
- OnePlus One device with Android 6.0.1 (99% OnePlus but also appeared on LGE, Samsung, Xiaomi and others)
- Various Samsung devices with Android 7.0
- Galaxy Tab /Tab 3 devices with Android 4.4.4
Crash:
Fatal Exception: android.app.RemoteServiceException: Bad notification posted from package com.xx.yy: Couldn't expand RemoteViews for: StatusBarNotification(pkg=com.xx.yy user=UserHandle{0} id=753962216 tag=null score=10 key=0|com.xx.yy|753962216|null|10117: Notification(pri=1 contentView=com.xx.yy/0x7f0a006f vibrate=null sound=null defaults=0x4 flags=0x11 color=0x00000000 vis=PRIVATE))
XML files of content view and big content view are attached.
All the images are in PNG format (hdpi,xhdpi,xxhdpi).
==============================================
Unfortunately, I didn't succeed to reproduce the issue even on OnePlus One device.
push a message to old version app
upgrade the new app from google play store
click the message push to the device before
app crash
I tried to reproduce the issue by following the steps above but without success.
After the app is updated notifications are disappeared, so I couldn't click on the notification.
All I have it is Fabric crash reports (Attached).
As you can see it is a lot of exception.
===============================================
Question about the similar issue on StackOverflow:https://stackoverflow.com/questions/53162489/bad-notification-exception-only-under-android-6-0-1
================================
Steps to reproduce the problem:
Send push notification
What happened:
App crashed. Based on crashes received from Fabric.
Mostly happens on:
- OnePlus One device with Android 6.0.1 (99% OnePlus but also appeared on LGE, Samsung, Xiaomi and others)
- Various Samsung devices with Android 7.0
- Galaxy Tab /Tab 3 devices with Android 4.4.4
Crash:
Fatal Exception: android.app.RemoteServiceException: Bad notification posted from package com.xx.yy: Couldn't expand RemoteViews for: StatusBarNotification(pkg=com.xx.yy user=UserHandle{0} id=753962216 tag=null score=10 key=0|com.xx.yy|753962216|null|10117: Notification(pri=1 contentView=com.xx.yy/0x7f0a006f vibrate=null sound=null defaults=0x4 flags=0x11 color=0x00000000 vis=PRIVATE))
XML files of content view and big content view are attached.
All the images are in PNG format (hdpi,xhdpi,xxhdpi).
==============================================
Unfortunately, I didn't succeed to reproduce the issue even on OnePlus One device.
push a message to old version app
upgrade the new app from google play store
click the message push to the device before
app crash
I tried to reproduce the issue by following the steps above but without success.
After the app is updated notifications are disappeared, so I couldn't click on the notification.
All I have it is Fabric crash reports (Attached).
As you can see it is a lot of exception.
===============================================
Question about the similar issue on StackOverflow:
ca...@instantbits.com <ca...@instantbits.com> #9
I'm curious #8, are you using bundles or apk? Switching to apk seems to solve the issue for me.
ko...@gmail.com <ko...@gmail.com> #10
I'm using a bundle and unfortunately switching to apk is not an option for me.
to...@google.com <to...@google.com> #11
this code has changed significantly from marshmallow
ca...@instantbits.com <ca...@instantbits.com> #12
Sorry, are you saying we just can't use bundles with notifications with marshmallow?
le...@google.com <le...@google.com> #13
If it doesn't crash for an APK, it shouldn't crash for an Android App Bundle.
I suspect what happens here is that some people have sideloaded the app, but have only installed the base APK and not any of the config split APKs, hence some resources are missing at runtime.
To confirm this theory, you could try installing only the "base-master.apk" (you could download from the Bundle Explorer in the Play Console) and try triggering a notification.
We are aware that incorrectly sideloaded apps can cause crashes with the App Bundle. We are working on a solution to mitigate this issue. If you can confirm that this issue is indeed caused by the missing config split APKs, then I'll update this thread when our solution is available.
I suspect what happens here is that some people have sideloaded the app, but have only installed the base APK and not any of the config split APKs, hence some resources are missing at runtime.
To confirm this theory, you could try installing only the "base-master.apk" (you could download from the Bundle Explorer in the Play Console) and try triggering a notification.
We are aware that incorrectly sideloaded apps can cause crashes with the App Bundle. We are working on a solution to mitigate this issue. If you can confirm that this issue is indeed caused by the missing config split APKs, then I'll update this thread when our solution is available.
ca...@instantbits.com <ca...@instantbits.com> #14
I don't think this is correct because of two reasons.
1.- I can reproduce it myself by creating a bundle, signing it and installing it using bundletool. I bought one of the phones it happens with (one plus one) specifically for this reason.
2.- When I release a bundle build as beta, within a few hours I start getting crash reports for it. Seems highly unlikely that within a few hours of a new beta someone would already be extracting the apk and causing this issue.
I tried the base-master.apk trick and interestingly enough that allowed me to replicate another issue I've had recently with just a handful of phones. They will crash while loading my splash activity. The splash activity doesn't have a layout, it just has a drawable on the theme background. The drawable is a bitmap. It is a normal drawable, just an image, not a vector, not drawable xml. Using bundletool to install the same bundle that I got the base-master.apk out of works just fine until the notification crash.
11-28 16:18:47.179 21964-21964/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: mypacakge, PID: 21964
Theme: themes:{default=overlay:com.cyngn.hexo, iconPack:com.cyngn.hexo, fontPkg:com.cyngn.hexo, com.android.systemui=overlay:com.cyngn.hexo, com.android.systemui.navbar=overlay:com.cyngn.hexo}
java.lang.RuntimeException: Unable to start activity ComponentInfo{mypacakge/mypacakge.SplashActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f0802e3
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f0802e3
at android.content.res.Resources.getValue(Resources.java:1432)
at android.content.res.Resources.getValue(Resources.java:1412)
at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:331)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:198)
at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86)
at android.support.v7.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:182)
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
at mypacakge.SplashActivity.onCreate(SplashActivity.java:33)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
1.- I can reproduce it myself by creating a bundle, signing it and installing it using bundletool. I bought one of the phones it happens with (one plus one) specifically for this reason.
2.- When I release a bundle build as beta, within a few hours I start getting crash reports for it. Seems highly unlikely that within a few hours of a new beta someone would already be extracting the apk and causing this issue.
I tried the base-master.apk trick and interestingly enough that allowed me to replicate another issue I've had recently with just a handful of phones. They will crash while loading my splash activity. The splash activity doesn't have a layout, it just has a drawable on the theme background. The drawable is a bitmap. It is a normal drawable, just an image, not a vector, not drawable xml. Using bundletool to install the same bundle that I got the base-master.apk out of works just fine until the notification crash.
11-28 16:18:47.179 21964-21964/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: mypacakge, PID: 21964
Theme: themes:{default=overlay:com.cyngn.hexo, iconPack:com.cyngn.hexo, fontPkg:com.cyngn.hexo, com.android.systemui=overlay:com.cyngn.hexo, com.android.systemui.navbar=overlay:com.cyngn.hexo}
java.lang.RuntimeException: Unable to start activity ComponentInfo{mypacakge/mypacakge.SplashActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f0802e3
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f0802e3
at android.content.res.Resources.getValue(Resources.java:1432)
at android.content.res.Resources.getValue(Resources.java:1412)
at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:331)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:198)
at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86)
at android.support.v7.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:182)
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
at mypacakge.SplashActivity.onCreate(SplashActivity.java:33)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
le...@google.com <le...@google.com> #15
Thank you, that's helpful.
Would you be able to share a Bundle that can reproduce the crash and the APK that works so that I can compare them and try reproducing the issue locally?
Would you be able to share a Bundle that can reproduce the crash and the APK that works so that I can compare them and try reproducing the issue locally?
ca...@instantbits.com <ca...@instantbits.com> #16
Yeah I can share them. Any chance I can email you a gdrive link? Already sent the link to #2, don't know if they can share it with you.
le...@google.com <le...@google.com> #17
If that's an option, you can upload them on Drive and share them with lecesne@google.com
ca...@instantbits.com <ca...@instantbits.com> #18
I sent the link over email and also shared it with the email.
le...@google.com <le...@google.com> #19
I have installed the app locally on a OnePlus One on M.
It starts correctly on my device.
Do I need to perform any specific action in the app to reproduce the bug?
It starts correctly on my device.
Do I need to perform any specific action in the app to reproduce the bug?
ca...@instantbits.com <ca...@instantbits.com> #20
On my app you would need to cast a video in order to get that notification. To do that (assuming you have a Chromecast available or similar streaming device), open https://www.w3.org/2010/05/video/mediaevents.html on the browser, then play the video and it will ask you to cast it and then it will crash. Has to be on the stock rom of the OnePlus One, I flashed mine to the stock image.
If you don't have the a Chromecast available I can see if I can make a test app to reproduce it or temporarily modify mine to always show the notification.
If you don't have the a Chromecast available I can see if I can make a test app to reproduce it or temporarily modify mine to always show the notification.
ca...@instantbits.com <ca...@instantbits.com> #21
One more thing, the starting crash only happens if you use the base-master.apk, if you use bundletools to install then the starting crash doesn't happen but the notification crash does.
ca...@instantbits.com <ca...@instantbits.com> #22
Figured a way to reproduce the issue. Same deal, bundle crashes, apk doesn't. I'm attaching the bundle, signed apks, and the project.
ko...@gmail.com <ko...@gmail.com> #23
#22, so what are the steps to reproduce the crash?
1. Taking OnePlus One device with the stock rom.
2. Install apk from bundleapks-testapp.apks?
3. What actions should I do in the app to get the crash?
Thanks
1. Taking OnePlus One device with the stock rom.
2. Install apk from bundleapks-testapp.apks?
3. What actions should I do in the app to get the crash?
Thanks
ca...@instantbits.com <ca...@instantbits.com> #24
Install the bundle using bundle tool and start the app. Crashes for me right away since the notification starts on onCreate.
le...@google.com <le...@google.com> #25
Before the stacktrace "Couldn't expand themed RemoteViews", there is a bigger one:
01-04 11:10:17.381 2531 2531 W ResourceType: Failure getting entry for 0x7f060069 (t=5 e=105) (error -75)
01-04 11:10:17.384 2531 2531 E StatusBar: couldn't inflate view for notification com.example.carlos.notificationcrashtest/0x65
01-04 11:10:17.384 2531 2531 E StatusBar: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class android.widget.ImageView
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.widget.RemoteViews.apply(RemoteViews.java:2783)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.BaseStatusBar.inflateViews(BaseStatusBar.java:1397)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.BaseStatusBar.inflateViews(BaseStatusBar.java:1302)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.BaseStatusBar.createNotificationViews(BaseStatusBar.java:1820)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.phone.PhoneStatusBar.addNotification(PhoneStatusBar.java:1693)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.BaseStatusBar$6$2.run(BaseStatusBar.java:516)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.os.Handler.handleCallback(Handler.java:739)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.os.Handler.dispatchMessage(Handler.java:95)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.os.Looper.loop(Looper.java:148)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.app.ActivityThread.main(ActivityThread.java:5461)
01-04 11:10:17.384 2531 2531 E StatusBar: at java.lang.reflect.Method.invoke(Native Method)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
01-04 11:10:17.384 2531 2531 E StatusBar: Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class android.widget.ImageView
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.createView(LayoutInflater.java:645)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
01-04 11:10:17.384 2531 2531 E StatusBar: ... 14 more
01-04 11:10:17.384 2531 2531 E StatusBar: Caused by: java.lang.reflect.InvocationTargetException
01-04 11:10:17.384 2531 2531 E StatusBar: at java.lang.reflect.Constructor.newInstance(Native Method)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.createView(LayoutInflater.java:619)
01-04 11:10:17.384 2531 2531 E StatusBar: ... 21 more
01-04 11:10:17.384 2531 2531 E StatusBar: Caused by: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f060069
01-04 11:10:17.384 2531 2531 E StatusBar: at android.content.res.Resources.getResourceName(Resources.java:2329)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.content.res.Resources.loadDrawableForCookie(Resources.java:2697)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.content.res.Resources.loadDrawable(Resources.java:2635)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.content.res.TypedArray.getDrawable(TypedArray.java:870)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.widget.ImageView.<init>(ImageView.java:152)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.widget.ImageView.<init>(ImageView.java:140)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.widget.ImageView.<init>(ImageView.java:136)
01-04 11:10:17.384 2531 2531 E StatusBar: ... 23 more
01-04 11:10:17.381 2531 2531 W ResourceType: Failure getting entry for 0x7f060069 (t=5 e=105) (error -75)
01-04 11:10:17.384 2531 2531 E StatusBar: couldn't inflate view for notification com.example.carlos.notificationcrashtest/0x65
01-04 11:10:17.384 2531 2531 E StatusBar: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class android.widget.ImageView
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.widget.RemoteViews.apply(RemoteViews.java:2783)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.BaseStatusBar.inflateViews(BaseStatusBar.java:1397)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.BaseStatusBar.inflateViews(BaseStatusBar.java:1302)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.BaseStatusBar.createNotificationViews(BaseStatusBar.java:1820)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.phone.PhoneStatusBar.addNotification(PhoneStatusBar.java:1693)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.systemui.statusbar.BaseStatusBar$6$2.run(BaseStatusBar.java:516)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.os.Handler.handleCallback(Handler.java:739)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.os.Handler.dispatchMessage(Handler.java:95)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.os.Looper.loop(Looper.java:148)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.app.ActivityThread.main(ActivityThread.java:5461)
01-04 11:10:17.384 2531 2531 E StatusBar: at java.lang.reflect.Method.invoke(Native Method)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
01-04 11:10:17.384 2531 2531 E StatusBar: Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class android.widget.ImageView
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.createView(LayoutInflater.java:645)
01-04 11:10:17.384 2531 2531 E StatusBar: at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
01-04 11:10:17.384 2531 2531 E StatusBar: ... 14 more
01-04 11:10:17.384 2531 2531 E StatusBar: Caused by: java.lang.reflect.InvocationTargetException
01-04 11:10:17.384 2531 2531 E StatusBar: at java.lang.reflect.Constructor.newInstance(Native Method)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.view.LayoutInflater.createView(LayoutInflater.java:619)
01-04 11:10:17.384 2531 2531 E StatusBar: ... 21 more
01-04 11:10:17.384 2531 2531 E StatusBar: Caused by: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f060069
01-04 11:10:17.384 2531 2531 E StatusBar: at android.content.res.Resources.getResourceName(Resources.java:2329)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.content.res.Resources.loadDrawableForCookie(Resources.java:2697)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.content.res.Resources.loadDrawable(Resources.java:2635)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.content.res.TypedArray.getDrawable(TypedArray.java:870)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.widget.ImageView.<init>(ImageView.java:152)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.widget.ImageView.<init>(ImageView.java:140)
01-04 11:10:17.384 2531 2531 E StatusBar: at android.widget.ImageView.<init>(ImageView.java:136)
01-04 11:10:17.384 2531 2531 E StatusBar: ... 23 more
le...@google.com <le...@google.com> #26
The resource is present however in the base-xxhdpi.apk which is installed on the OnePlus One.
le...@google.com <le...@google.com> #27
It looks like this version of Cyanogen OS didn't support split APKs.
Do you have a list of devices for which you notice this particular crash?
It would be useful for us so that Play can avoid serving splits to these devices.
--
By the way, thank you very much for helping me reproduce the issue, that was very helpful!
Do you have a list of devices for which you notice this particular crash?
It would be useful for us so that Play can avoid serving splits to these devices.
--
By the way, thank you very much for helping me reproduce the issue, that was very helpful!
ko...@gmail.com <ko...@gmail.com> #28
Thank you,
Here is a list that I got from Fabric:
1.http://crashes.to/s/def037f628d
96% OnePlus One device
4% Other devices
ONE A2001
SM-G9006V
Galaxy S5
LG G3
Nexus 5
Redmi Note 3
Mi 4c
2.http://crashes.to/s/0ce8d6ec6b5
Samsung devices:
Galaxy J7(2016)
SM-G950F
SM-J701F
SM-J730F
SM-G610F
SM-G955F
Galaxy Tab A 10.
SM-A520F
SM-J530F
SM-J730GM
SM-A720F
Galaxy A5(2016)
SM-J330F
SM-G570F
SM-J730G
SM-G570Y
SM-G615F
SM-J530Y
SM-J530YM
SM-G610M
Here is a list that I got from Fabric:
1.
96% OnePlus One device
4% Other devices
ONE A2001
SM-G9006V
Galaxy S5
LG G3
Nexus 5
Redmi Note 3
Mi 4c
2.
Samsung devices:
Galaxy J7(2016)
SM-G950F
SM-J701F
SM-J730F
SM-G610F
SM-G955F
Galaxy Tab A 10.
SM-A520F
SM-J530F
SM-J730GM
SM-A720F
Galaxy A5(2016)
SM-J330F
SM-G570F
SM-J730G
SM-G570Y
SM-G615F
SM-J530Y
SM-J530YM
SM-G610M
ca...@instantbits.com <ca...@instantbits.com> #29
OnePlus one 82%
11% Samsung:
Galaxy S3
Galaxy S4
Galaxy S5
Galaxy Tab 2
Galaxy Tab 2 3G
3% Motorola
Moto G4 Play
Moto Z Play
Others:
Wileyfox
HUAWEI
asus
So the fix for this will be on the Play Store, not on Android Studio or bundletool?
11% Samsung:
Galaxy S3
Galaxy S4
Galaxy S5
Galaxy Tab 2
Galaxy Tab 2 3G
3% Motorola
Moto G4 Play
Moto Z Play
Others:
Wileyfox
HUAWEI
asus
So the fix for this will be on the Play Store, not on Android Studio or bundletool?
le...@google.com <le...@google.com> #30
For the OnePlus One devices, yes, the fix will be on Play Store.
I still believe that the other issue on the other devices are due to sideloading (unfortunately, they would have the same stacktrace), and we are still working on a solution to mitigate those crashes for those devices.
I still believe that the other issue on the other devices are due to sideloading (unfortunately, they would have the same stacktrace), and we are still working on a solution to mitigate those crashes for those devices.
ca...@instantbits.com <ca...@instantbits.com> #31
Any idea when the fix will go out? would love to go back to shipping bundles.
I bought a Moto G4 Play for testing since I have a different crash on that device as well and I can not reproduce the issue with it so you are probably right about side loading, specially considering how low the percentages are for those phones vs the OnePlus One.
I bought a Moto G4 Play for testing since I have a different crash on that device as well and I can not reproduce the issue with it so you are probably right about side loading, specially considering how low the percentages are for those phones vs the OnePlus One.
le...@google.com <le...@google.com> #32
The fix was released today but it may take up to 24 hours to propagate to all apps.
Note that it only applies to updates and new installs. This means you may still notice crashes from users having the app currently installed until they get an update or re-install the app.
Note that it only applies to updates and new installs. This means you may still notice crashes from users having the app currently installed until they get an update or re-install the app.
ca...@instantbits.com <ca...@instantbits.com> #33
Thanks, I'll test it on my next beta.
ca...@instantbits.com <ca...@instantbits.com> #34
Is bunbletool also going to be fixed so I can test with it?
le...@google.com <le...@google.com> #35
Bundletool does not have knowledge of specific devices. To test locally, you can manually install the standalone APK (generated for pre-L devices) if your minSdkVersion < 21.
ca...@instantbits.com <ca...@instantbits.com> #36
So I released a bundle and for the most part it went well until someone with a Samsung Galaxy Tab 2 with LineagoOS 13 contacted me. They installed from the play store and have the exact same crash.
ca...@instantbits.com <ca...@instantbits.com> #37
So will there be a fix for that Samsung Galaxy Tab 2 issue?
le...@google.com <le...@google.com> #38
This seems to be an issue with LineageOS.
ca...@instantbits.com <ca...@instantbits.com> #39
While that is probably correct, I'm guessing there are other ROMs out there with issues like this and I still have to support those users or suffer through their 1 star reviews, or worse, if I get enough of those users I might see my Play Store Vitals drop and then my ranking will suffer. I guess I just don't know what the permanent solution for this is, I really want to use bundles but these issues keep me from it. I am redoing my notification completely, maybe that will fix it, but I'm guessing this issue could still popup somewhere else.
le...@google.com <le...@google.com> #40
Let me look into it.
ca...@instantbits.com <ca...@instantbits.com> #41
Thanks, I appreciate that.
le...@google.com <le...@google.com>
le...@google.com <le...@google.com> #42
I have tried with LineageOS 15.1 nightly from Jan 10th, and splits seem to work correctly.
I couldn't find how to download an older version of LineageOS yet.
I couldn't find how to download an older version of LineageOS yet.
ca...@instantbits.com <ca...@instantbits.com> #43
I was going to test the roms from this page https://www.cyanogenmods.org/lineage-13-rom-download-update-guide-devices-list/ but haven't had time yet. I think those are official but not totally sure.
le...@google.com <le...@google.com> #44
I don't have enough visibility on how widespread LineageOS 13 is nor how we'd go about downloading such version in an official way to test, and the latest versions of LineageOS seems to have fixed the issue (see #comment42 ).
If someone from LineageOS team could comment on exactly which devices on L+ don't support splits, then I'd be happy to work something out, but I couldn't find a point of contact either.
Since it's now fixed for OnePlus One devices, I'll mark this bug as fixed.
If someone from LineageOS team could comment on exactly which devices on L+ don't support splits, then I'd be happy to work something out, but I couldn't find a point of contact either.
Since it's now fixed for OnePlus One devices, I'll mark this bug as fixed.
ca...@instantbits.com <ca...@instantbits.com> #45
I think it is safe to close it. I just released a new version with a bundle and while I have had issues with resources not being found, I have found ways to work around them.
[Deleted User] <[Deleted User]> #46
Which ways did you find to work around them? More specific, I have the exact same issue as reported in https://issuetracker.google.com/issues/120625421
ca...@instantbits.com <ca...@instantbits.com> #47
There were several fixes I had to apply. In some cases I put a png on the drawable folder along with the dpi ones. In other cases like on my splash screen, I had to move to a single png on drawable instead of a vector. I also tried a drawable composed of a background and a bitmap and that also failed. Single png worked best.
None of these solutions are ideal but they minimized the crashes and I'm not sure there is much else that can be done.
None of these solutions are ideal but they minimized the crashes and I'm not sure there is much else that can be done.
ca...@instantbits.com <ca...@instantbits.com> #48
Another fix I forgot to mention. After going with bundles and vectors, for a small number of users, some images weren't found when used inside the xml of the layout, but if I set them in code it worked fine. Don't know if this is because I use multidex since most of the errors were on the first activity. It is an ugly solution but at least it stopped the crashes.
pa...@gmail.com <pa...@gmail.com> #49
ca, thank you so much for sharing your workarounds. Are the real MVP. Our issue is just like yours.
https://issuetracker.google.com/issues/132435772
le...@google.com <le...@google.com> #50
FYI - Regarding split issues due to the lack of all splits being installed (e.g. sideloading or similar), we are also working on a solution that would be easy to integrate with, which would prevent the crashes from occurring. This is being tested at the moment and will be released in the next month or so.
ca...@instantbits.com <ca...@instantbits.com> #51
I just wanted to mention that the new library to check if your app install is missing splits appears to be working well. I first did a test by flagging on fabric all users that had that when the app starts but letting them continue and sure enough, every crash I got for a Resources$NotFoundException had that user marked as missing splits. So I then reimplemented the code like on the sample, to just return on Application onCreate after disableAppIfMissingRequiredSplits() is true and so far (only on beta) not a single crash for a missing resource.
The only thing I don't understand is how users are installing my app with missing splits even at the beta stages.
The only thing I don't understand is how users are installing my app with missing splits even at the beta stages.
Description
4.6
Android Plugin Version:
3.2.1
Module Compile Sdk Version:
1.8
Module Build Tools Version:
28.0.3
Android SDK Tools version:
26.1.1
I have a strange issue that only happens when I build using a bundle, not when generating an apk. The issue is that on some phones my app will crash when creating a notification, screenshot attached of the phones it crashes on. The exception is listed below.
I bought one of those phones (one plus one) and managed to reproduce the issue but only if using bundletool to install the app. If I generate a signed apk and install that, the issue doesn't happen. If I switch Android Studio to build prodRelease then the issue doesn't happen. The issue only seems to happen on Android 6 and only on some devices.
I have sent the relevant files to the person I was emailing with on this similar issue
11-21 13:40:02.924 29098-29098/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: mypackage, PID: 29098
Theme: themes:{default=overlay:com.cyngn.hexo, iconPack:com.cyngn.hexo, fontPkg:com.cyngn.hexo, com.android.systemui=overlay:com.cyngn.hexo, com.android.systemui.navbar=overlay:com.cyngn.hexo}
android.app.RemoteServiceException: Bad notification posted from package mypackage: Couldn't expand RemoteViews for: StatusBarNotification(pkg=mypackage user=UserHandle{0} id=74219 tag=null score=-10 key=0|mypackage|74219|null|10117: Notification(pri=-1 contentView=mypackage/0x7f0c00dd vibrate=null sound=null defaults=0x0 flags=0x2 color=0x00000000 vis=PUBLIC))
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1526)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)