美文网首页WebViewAndroidAndroid经验
(Android)Webview在anroid4.4以下和8.0

(Android)Webview在anroid4.4以下和8.0

作者: AMrx | 来源:发表于2018-07-17 09:33 被阅读87次

    1  因为项目需要webview需要适配android4.4以下版本。原生的webview在4.4以下版本不显示。可以使用以腾讯x5为内核的webview 完美解决我的问题。腾讯x5为内核的webview网上有很多例子,自己查找 很简单的。

    2  刚适配完4.4以下的,8.0以上的又出问题了,fuck。。。。后来经过本人查阅是兼容性问题,在项目build.gradle里添加这段话

    splits {

    abi {

    enable true

            reset()

    include'x86','armeabi-v7a','x86_64'

            universalApk true

        }

    }

    如图:

    添加这段话

    虽然可以显示了,但是为什么我在不同的手机里运行,却能生成不同的apk,这是为什么呢?希望有大神可以帮忙解决。如图:

    3  当我感觉所有问题都解决的时候,又用4.4以下版本跑了以下,4.4以下又不显示了,崩溃!!肯定有事兼容性问题,兼容了8.0,又不兼容4.4以下了。于是又在build.gradle中又加了几句话,如图:

    4  到此为止,4.4以下和8.0 的都可以兼容了,再有机型不兼容的  再继续添加!!!(我猜的)

    注意将在android8.0上跑的apk,安装到4.4以下版本的就可以显示了。直接在4.4以下机型跑还是显示不了

    5 过了俩天技术负责人找我说 小米5 安卓8.0还是加载不出来webview,我又翻阅了很多资料终于解决问题。在web设置里加上以下属性

    //--------在小米5 8.0系统无法加载出来-------//

    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);//支持通过JS打开新窗口

    webSettings.setAllowFileAccess(true);

    webSettings.setAppCacheEnabled(true);

    webSettings.setPluginsEnabled(true);

    webSettings.setSaveFormData(false);

    webView.refreshPlugins(true);

    webSettings.setLoadsImagesAutomatically(true);//支持自动加载图片

    // http请求的时候,模拟为火狐的UA会造成实时公交那边的页面存在问题,所以模拟iPhone的ua来解决这个问题

    String user_agent =

    "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko) Safari/125.1";

    webSettings.setUserAgentString(user_agent);

    /* Enable zooming */

    webSettings.setSupportZoom(false);

    //--------在小米5 8.0系统无法加载出来-------//

    如图:

    主要是红框里的内容。

    6  下午我又在android4.4以下又跑了下。4.4以下的又显示不了了。转了一大圈又回来了,我也很无奈啊。于是决定将上步骤的2和3去掉,如图

    把这个splits去掉

    对,把这个注释掉,跟x86什么的 应该没什么关系。注释掉以后就不会出现多个apk了,只会出现一个app-debug-apk。嗯!!!至此完美的解决了!!!!!

    希望此文章可以帮到你!

    相关文章

      本文标题:(Android)Webview在anroid4.4以下和8.0

      本文链接:https://www.haomeiwen.com/subject/gkfwpftx.html