OneSignal-Android-SDK
OneSignal-Android-SDK copied to clipboard
Resources$NotFoundException: String resource ID #0x2040003 (Exception…
Hello, sure =) This crash only on Android 5, this problem in WebView on this version of Android. I use full-screen OneSignal In-App message so when it try running on Android Lollipop it is crashed with this exception Resources$NotFoundException.
Reproduce simple - send In-App message to Android 5.*.
This full log of exception :
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ptp.guyspy, PID: 4868
android.content.res.Resources$NotFoundException: String resource ID #0x2040002
at android.content.res.Resources.getText(Resources.java:274)
at android.content.res.Resources.getString(Resources.java:360)
at com.android.org.chromium.content.browser.ContentViewCore.setContainerView(ContentViewCore.java:702)
at com.android.org.chromium.content.browser.ContentViewCore.initialize(ContentViewCore.java:608)
at com.android.org.chromium.android_webview.AwContents.createAndInitializeContentViewCore(AwContents.java:619)
at com.android.org.chromium.android_webview.AwContents.setNewAwContents(AwContents.java:758)
at com.android.org.chromium.android_webview.AwContents.<init>(AwContents.java:608)
at com.android.org.chromium.android_webview.AwContents.<init>(AwContents.java:546)
at com.android.webview.chromium.WebViewChromium.initForReal(WebViewChromium.java:312)
at com.android.webview.chromium.WebViewChromium.access$100(WebViewChromium.java:97)
at com.android.webview.chromium.WebViewChromium$1.run(WebViewChromium.java:264)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.drainQueue(WebViewChromium.java:124)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue$1.run(WebViewChromium.java:111)
at com.android.org.chromium.base.ThreadUtils.runOnUiThread(ThreadUtils.java:144)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.addTask(WebViewChromium.java:108)
at com.android.webview.chromium.WebViewChromium.init(WebViewChromium.java:261)
at android.webkit.WebView.<init>(WebView.java:548)
at android.webkit.WebView.<init>(WebView.java:483)
at android.webkit.WebView.<init>(WebView.java:466)
at android.webkit.WebView.<init>(WebView.java:453)
at android.webkit.WebView.<init>(WebView.java:443)
**at com.onesignal.OSWebView.<init>(OSWebView.java:10)**
at com.onesignal.WebViewManager.setupWebView(WebViewManager.java:285)
at com.onesignal.WebViewManager.access$200(WebViewManager.java:36)
at com.onesignal.WebViewManager$3.run(WebViewManager.java:133)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
I took a second pass at researching the issue and this looks to be a know issue induced in androidx.appcompat:appcompat:1.1.0
. However upgrading to 1.2.0 fixes the resource missing issue:
https://stackoverflow.com/a/60372760.
@dashika What version of appcompat are you using in your app?
Another suggestion someone had is to use the application context instead for WebViews. However this shouldn't have an effect on resource loading. https://stackoverflow.com/a/58695635
Another stack trace that related, versions of Android from this one is unknown:
android.content.res.HwResources.getText (HwResources.java:1248)
android.content.res.Resources.getString (Resources.java:374)
com.android.org.chromium.content.browser.ContentViewCore.setContainerView (ContentViewCore.java:948)
com.android.org.chromium.content.browser.ContentViewCore.initialize (ContentViewCore.java:848)
com.android.org.chromium.android_webview.AwContents.createAndInitializeContentViewCore (AwContents.java:649)
com.android.org.chromium.android_webview.AwContents.setNewAwContents (AwContents.java:788)
com.android.org.chromium.android_webview.AwContents.<init> (AwContents.java:635)
com.android.org.chromium.android_webview.AwContents.<init> (AwContents.java:573)
com.android.webview.chromium.WebViewChromium.initForReal (WebViewChromium.java:315)
com.android.webview.chromium.WebViewChromium.access$100 (WebViewChromium.java:100)
com.android.webview.chromium.WebViewChromium$1.run (WebViewChromium.java:267)
com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.drainQueue (WebViewChromium.java:127)
com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue$1.run (WebViewChromium.java:114)
com.android.org.chromium.base.ThreadUtils.runOnUiThread (ThreadUtils.java:144)
com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.addTask (WebViewChromium.java:111)
com.android.webview.chromium.WebViewChromium.init (WebViewChromium.java:264)
android.webkit.WebView.<init> (WebView.java:548)
android.webkit.WebView.<init> (WebView.java:483)
android.webkit.WebView.<init> (WebView.java:466)
android.webkit.WebView.<init> (WebView.java:453)
android.webkit.WebView.<init> (WebView.java:443)
com.onesignal.OSWebView.<init> (OSWebView.java:10)
com.onesignal.WebViewManager.setupWebView (WebViewManager.java:302)
com.onesignal.WebViewManager.access$100 (WebViewManager.java:36)
com.onesignal.WebViewManager$3.run (WebViewManager.java:139)
android.os.Handler.handleCallback (Handler.java:739)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:135)
android.app.ActivityThread.main (ActivityThread.java:5538)
java.lang.reflect.Method.invoke (Method.java)
java.lang.reflect.Method.invoke (Method.java:372)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:958)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:753)
We have not seen any recent Resources$NotFoundException
crashes. Closing this PR as stale.