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。嗯!!!至此完美的解决了!!!!!
希望此文章可以帮到你!
网友评论