-
Notifications
You must be signed in to change notification settings - Fork 34
Description
Issue Description
The Iterable SDK crashes on Android 16 devices when attempting to display in-app messages. The crash occurs during IterableWebView instantiation in IterableInAppFragmentHTMLNotification.onCreateView() — specifically when super(context) calls WebViewFactory.getProvider(), which fails with a Resources$NotFoundException.
This is a fatal crash with no error handling around the WebView constructor.
Stack Trace
android.util.AndroidRuntimeException
-> Resources$NotFoundException: failed to redirect ResourcesImpl
at android.app.ResourcesManager.redirectAllResourcesToNewImplLocked
at android.webkit.WebViewFactory.getProvider
at android.webkit.WebView.<init>
at com.iterable.iterableapi.IterableWebView.<init>
at com.iterable.iterableapi.IterableInAppFragmentHTMLNotification.onCreateView
Impact
- ~1,870 unique users crashed in the last 14 days
- 100% Android 16 — Samsung (S25/S24/S23/A-series), Motorola (Edge 50/60), Xiaomi
- Every user receiving an in-app message on Android 16 crashes
- In-app messages are completely non-functional on Android 16
Root Cause
Android 16 framework ResourcesManager.redirectAllResourcesToNewImplLocked() fails during WebView provider init. The IterableWebView constructor in onCreateView() has no try-catch, so the exception propagates and crashes the app.
Suggested Fix
Wrap WebView creation in onCreateView() with try-catch:
try {
webView = new IterableWebView(getContext());
} catch (Exception e) {
IterableLogger.e(TAG, \"Failed to create WebView\", e);
dismissAllowingStateLoss();
return new FrameLayout(getContext());
}Also consider a WebView health check in IterableInAppDisplayer.showMessage() before showing the fragment. Related: #954.
Environment
- SDK version: 3.5.10 (also unpatched in 3.6.5 source)
- Android OS: 16 (API 36)
- Devices: All major OEMs on Android 16
Request
Could the team provide an ETA for a fix? This is high-severity — Android 16 adoption is growing and all affected users crash when receiving in-app messages. We have a workaround in our integration layer, but a proper SDK fix is needed for all Iterable customers.
Thank you.