OneSignal-Android-SDK icon indicating copy to clipboard operation
OneSignal-Android-SDK copied to clipboard

Resources$NotFoundException: String resource ID #0x2040003 (Exception…

Open dashika opened this issue 4 years ago • 2 comments

… on new WebView on Lollipop 5.1 devices)

This change is Reviewable

dashika avatar Feb 04 '20 08:02 dashika

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)

dashika avatar Mar 24 '20 08:03 dashika

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)

jkasten2 avatar Aug 12 '20 18:08 jkasten2

We have not seen any recent Resources$NotFoundException crashes. Closing this PR as stale.

jkasten2 avatar Jan 17 '24 17:01 jkasten2