仅按照以下内容查看日志:“O”8 Google Pixel:
Fatal Exception: java.lang.NullPointerException
at android.content.res.AssetManager.addAssetPathNative(AssetManager.java)
at android.content.res.AssetManager.addAssetPathInternal(AssetManager.java:689)
at android.content.res.AssetManager.addAssetPathAsSharedLibrary(AssetManager.java:684)
at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:407)
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:211)
at android.webkit.CookieManager.getInstance(CookieManager.java:39)
at android.webkit.CookieSyncManager.sync(CookieSyncManager.java:112)
有趣的是,这个问题是在做一次电话
android.webkit.CookieSyncManager cookieSyncManager = android.webkit.CookieSyncManager.createInstance(context);
cookieSyncManager.sync();
根据文件https://developer.android.com/reference/android/webkit/CookieSyncManager.html
不推荐调用sync(),而应调用flush()。但该方法已被弃用。
在进行内部检查时,代码为CookieSyncManager
,发现其执行如下
/**
* sync() forces sync manager to sync now
* @deprecated Use {@link CookieManager#flush} instead.
*/
@Deprecated
public void sync() {
CookieManager.getInstance().flush();
}
有兴趣了解这次失败的原因,因为Crashlytics显示了大量的崩溃事件。
答案 0 :(得分:0)
看起来当你尝试创建类实例时,它失败了。那是因为他们改变了实例构造函数:
private CookieSyncManager() {
super("CookieSyncManager");
}
太:
private CookieSyncManager() {
super(null, null);
}
这也是你获得NullPointerException
的原因