Android 4.4.3 Web视图不再遵循重定向

时间:2014-12-10 03:26:44

标签: android debugging android-webview

我们的混合应用程序使用Web视图,并且从Web版本4.4.3开始,Web视图不会呈现。该应用尝试加载 HTTPS 网络视图,并在此处停留约50秒,之后会抛出类似于此Android Fatal signal 11 (SIGSEGV) at 0x636f7d89 (code=1). How can it be tracked down?的异常。显然,我们沿着这条SO建议的道路走下去并没有多大用处。

通过我们的实验,我们确定了以下内容

  1. 最后一个HTTP请求/响应(执行重定向)与版本4.4.2和4.4.3相同。我们在查尔斯代理中验证了这一点。
  2. 重定向4.4.2创建购物车(SSL)请求/响应后,但4.4.3甚至没有创建请求。
  3. Chrome remote debugging没有任何帮助,检查只显示一个空白屏幕。
  4. 设备上的Chrome浏览器版本无关紧要。
  5. 我们使用的重定向代码是302.
  6. 所有以前的Android版本都可以正常工作
  7. 虽然最初我们认为它是一个棒棒糖/ ART特定的错误,但它看起来不再那样了。关于我们应该如何进行的任何想法?

    实际上崩溃发生在这个位置libwebviewchromium.so

    墓碑文件也位于 - https://gist.github.com/prolificcoder/ebd82081b47640a3cae2

    来自设备的墓碑 - https://gist.github.com/anonymous/2a6a28b2ec976075f587

    Logcat日志 - https://slack-files.com/T02RAT9SZ-F0351N4NW-997f5c

2 个答案:

答案 0 :(得分:2)

看起来Note3 libwebviwewchromium.so与您可以从AOSP构建的那个匹配,但是x86可以匹配,所以这里是symbolized stack

不幸的是,您发现Blink是WebView使用的渲染引擎中的一个错误。无论您尝试加载什么页面,似乎都会导致WebView崩溃,导致您的应用程序随之崩溃。你能否验证在另一个WebView(写一个简单的WebView应用程序或使用基于WebView的浏览器)中加载该特定URL也会崩溃?如果是这样,那么如果您可以共享URL或隔离HTML / CSS / JS的有问题的位并分享它,那将是理想的。

答案 1 :(得分:0)

确定问题的解决方案是在布局中。我们之前没有 android:orientation =“vertical”,我认为当webview试图在狭窄的空间和某个地方适应所有内容时,崩溃就会发生,同时渲染应用程序崩溃的字体。

另一个开发人员在尝试创建更好的repro并在示例项目中观察到lint警告时发现了这一点,奇怪的是这些没有出现在原始应用程序中

<LinearLayout
android:id="@+id/webView_holder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ProgressBar
    android:id="@+id/progress_bar"
    android:layout_width="fill_parent"
    android:max="100" />

<WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

我不知道这对任何其他人有什么帮助,但经验教训是布局混乱可能导致问题