我的应用程序的配置如下: targetSdk 28 minsdk24 compileSdk 28
当我尝试使用targetSDK 28加载广告时,它无法加载,这与targetSDK为27的情况不同,在该情况下,广告成功加载到了我的具有API 27的设备中。
我已经从here阅读了API 28中WebView中的行为更改。
基于Web的数据目录,该目录由API 28中的进程分隔,您应该在每次初始化WebView之前使用WebView.setDataDirectorySuffix(),但是显然我的设备无法使用此方法,因为它是API 27,而且可能不是这个问题是因为我的应用程序在具有API 27的设备和具有API 28的模拟器中都不会崩溃。
通常,如果那是错误,应该会导致崩溃。而且,如果那是问题,只能通过API 28中存在的setDataDirectorySuffix()方法解决,而不是早期设备的API中存在的问题,有没有办法解决此问题而又没有NoSuchMethodError异常?
同样在API 28中,cleartextTrafficPermitted()自动返回false,我已经在我的应用中为may域创建并设置了一个Network Security Configuration,但是它也不会影响这种情况。
我现在只有临时解决方案,可以将targetSDK版本设置为27,但是对于导致此问题的原因和解决方法感到困惑,我们将不胜感激。
我也已经使用API28仿真器对此进行了测试,即使我已经能够使用setDataDirectorySuffix()方法,但仍然遇到相同的问题,但是我可能定义了错误的目录。