有時候需要把一個網址打包成一個APP,會遇到一些問題。
看到了就記錄一下,方便以後使用:
net:ERR_CLEARTEXT_NOT_PERMITTED報錯原因是:
從Android 9.0(API級別28)開始,默認情況下禁用明文支持。因此 http 的url均無法在webview中加載。
仔細一看我的正是http的網關協議。
解決辦法:
1、從根本解決問題,用安全的HTTPS協議 eg: "https://" 替換 "http://"
2、在 AndroidManifest.xml 文件中的application節點添加 android:usesCleartextTraffic="true"。
3、創建 res/xml/network_security_config.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">api.example.com(to be adjusted)</domain>
</domain-config>
</network-security-config>
在application節點添加 android:networkSecurityConfig="@xml/network_security_config" 引用
4、如果你有android:targetSandboxVersion在<manifest>,然後減少到1</manifest>
最後再囉嗦一句,記得給網絡權限 [微笑臉]。
參考鏈接: Android 8: Cleartext HTTP traffic not permitted
書到用時方恨少,紙上得來終覺淺。共勉。