Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Crash on API 21 and 22 only, WebView and Consent SDK - Resources$NotFoundException

We got this crash from a tester on Galaxy S6, Android 5.0.2. Android System WebView 37 (1726107-arm64) Google Play Services 19.0.56 (020400-263933554) Google Play Store 16.5.30-all [0] [PR] 267441717

How to reproduce (apart from the above device): Android studio, emulator Android SDK built for x86_64 api 21 and 22. Above 22 no crash. On same devices, WebView crashes with a similar message. It does not crash with the test publisher id ("pub-0123456789012345") from Android Developers example

Fatal Exception: android.content.res.Resources$NotFoundException: String resource ID #0x3040002
    at android.content.res.Resources.getText + 1347(Resources.java:1347)
    at android.content.res.Resources.getString + 1441(Resources.java:1441)
    at com.android.org.chromium.content.browser.ContentViewCore.setContainerView + 702(ContentViewCore.java:702)
    at com.android.org.chromium.content.browser.ContentViewCore.initialize + 608(ContentViewCore.java:608)
    at com.android.org.chromium.android_webview.AwContents.createAndInitializeContentViewCore + 619(AwContents.java:619)
    at com.android.org.chromium.android_webview.AwContents.setNewAwContents + 758(AwContents.java:758)
    at com.android.org.chromium.android_webview.AwContents.<init> + 608(AwContents.java:608)
    at com.android.org.chromium.android_webview.AwContents.<init> + 546(AwContents.java:546)
    at com.android.webview.chromium.WebViewChromium.initForReal + 312(WebViewChromium.java:312)
    at com.android.webview.chromium.WebViewChromium.access$100 + 97(WebViewChromium.java:97)
    at com.android.webview.chromium.WebViewChromium$1.run + 264(WebViewChromium.java:264)
    at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.drainQueue + 124(WebViewChromium.java:124)
    at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue$1.run + 111(WebViewChromium.java:111)
    at com.android.org.chromium.base.ThreadUtils.runOnUiThread + 144(ThreadUtils.java:144)
    at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.addTask + 108(WebViewChromium.java:108)
    at com.android.webview.chromium.WebViewChromium.init + 261(WebViewChromium.java:261)
    at android.webkit.WebView.<init> + 557(WebView.java:557)
    at android.webkit.WebView.<init> + 492(WebView.java:492)
    at android.webkit.WebView.<init> + 475(WebView.java:475)
    at android.webkit.WebView.<init> + 462(WebView.java:462)
    at android.webkit.WebView.<init> + 452(WebView.java:452)
    at com.google.ads.consent.ConsentForm.<init> + 80(ConsentForm.java:80)
    at com.google.ads.consent.ConsentForm.<init> + 46(ConsentForm.java:46)
    at com.google.ads.consent.ConsentForm$Builder.build + 210(ConsentForm.java:210)
    at ro.coopabnd.cegatim.activities.MainActivity.requestConsent + 222(MainActivity.java:222)
    at ro.coopabnd.cegatim.activities.MainActivity.access$300 + 64(MainActivity.java:64)
    at ro.coopabnd.cegatim.activities.MainActivity$2.onConsentInfoUpdated + 243(MainActivity.java:243)
    at com.google.ads.consent.ConsentInformation$ConsentInfoUpdateTask.onPostExecute + 277(ConsentInformation.java:277)
    at com.google.ads.consent.ConsentInformation$ConsentInfoUpdateTask.onPostExecute + 188(ConsentInformation.java:188)
    at android.os.AsyncTask.finish + 632(AsyncTask.java:632)
    at android.os.AsyncTask.access$600 + 177(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage + 645(AsyncTask.java:645)
    at android.os.Handler.dispatchMessage + 102(Handler.java:102)
    at android.os.Looper.loop + 145(Looper.java:145)
    at android.app.ActivityThread.main + 6141(ActivityThread.java:6141)
    at java.lang.reflect.Method.invoke(Method.java)
    at java.lang.reflect.Method.invoke + 372(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 1399(ZygoteInit.java:1399)
    at com.android.internal.os.ZygoteInit.main + 1194(ZygoteInit.java:1194)
like image 707
Rares Serban Avatar asked Sep 22 '19 18:09

Rares Serban


1 Answers

Since many libraries are going to depend on appcompat 1.1.0 in the future, I am going to leave this here https://stackoverflow.com/a/58131421/9125569. It happens on devices with API 21 & 22 with webview version<50.

like image 73
A R Mythili Saran Avatar answered Oct 21 '22 20:10

A R Mythili Saran