webview加载不出网页_WebView在Android API28源码中loadUrl为空方法的解决办法

今天我遇到这么一个问题,就是使用webView时加载不出来网页,这可不成啊,因为我这里有的界面就是必须要使用网页的,必须要使用webView,我着急啊,我就去看源码,一看源码,我懵了,loadUrl这个方法竟然是空方法。

a42994bd462256b1b5dd81258aa67ba9.png

搞错没有任何实现,这可恼火到我了,我就在网上找解决方案,结果没看到解决方案。只有关于HTTP在api28下面无法使用的问题。

我这时候网上各种找都没有找到,那我该怎么办呢?我就想,能不能替换其源码?我就在网上搜索替代源码的方法,好像也没有看到该怎么去替换,或者说替换的源码不是Android系统的源码,是插件之类的源码,那怎么办呢?尴尬了,我先下载了Android API27的源码,然后到Android SDK目录下面去看其源码,

005536b480c261bc5027788af3497b7a.png

使用apk_tool可以看到里面的源码,与AS中看到的API28的源码确实不一样,但是如何将它取出来替换掉呢?这还是难住了我,我看AS中的源码,就在SDK目录下,我始终没有找到其在文件在哪儿,哎,我就看到了SDK目录下面有一个source目录,

cc4e54217292b3c84e8c241ce9eb3682.png

我漫无目的的将它打开,发现里面有好几个文件夹,分别是android-26,android-27,android-28,

9493e25f2f21ea559a4c01fe4beb73e6.png

我又点开了android-28,突然发现好像和as中的目录架构是一样的,我找到了它下面的android包下面的webkit包,再一看全是.java文件,我找到了其中的webView.java文件,打开一看,就是源文件,

4b41de60033fb5241fd95edb625baf4a.png
5a6f945804c23c0d05d997b90ad725e7.png

和as中一模一样的。我这时候回过头来打开android-27的android.webkit目录,

0c3ddbf5fd898dd84486b0c1c58bbd83.png
562ea2a10e444dd34e0a1d0974d803da.png

将它copy出来,然后将android-28中的webkit包删掉,再把android-27中copy的webkit包全部粘贴到之前android-28中的webkit目录,然后再回过头打开AS发现,as正在同步,一会儿同步好了之后,点开源码目录,发现是新的目录,

2304ae29f5325d6b0590d50bf5005cd5.png

也就是说webView已经被替换了,这时候我再重新运行我的项目,哇,运行成功,webView加载出来了。

很多东西都是需要自己去摸索的,像LiveDataBus,LifeCycle这样的,需要api28的sdk运行,而webView在api28的sdk不支持了,这时候使用替换源码的方式就解决掉了,一切的问题都是需要自己想办法解决的,只要能解决问题,那就是好办法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值