適配Bugly不支援Android P
阿新 • • 發佈:2018-12-04
Bugly官方文件上最高是適配的8.x,剛開始的時候我拿Android P進行測試也是無效果.後來發現log中有一句
Cleartext HTTP traffic to android.bugly.qq.com not permitted
. 拿起就是一陣Google,發現原來是Android P需要進行適配(限制了明文流量的網路請求,非加密的流量請求都會被系統禁止掉). 當我發現這個的時候,彷彿看到了一絲光明,抱著試一試的心態,搞了一下,果然可行.(測試機型為Pixel 2,Android 9.0)
起因
Android 9.0上會報以下錯誤,聯網會失敗:
2018-10-10 16:39:21.312 31611-31646/com.xfhy.tinkerfirmdemo W/CrashReport: java.io.IOException: Cleartext HTTP traffic to android.bugly.qq.com not permitted at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:115) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:458) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:258) at com.tencent.bugly.proguard.ai.a(BUGLY:265) at com.tencent.bugly.proguard.ai.a(BUGLY:114) at com.tencent.bugly.proguard.al.run(BUGLY:355) at com.tencent.bugly.proguard.ak$1.run(BUGLY:723) at java.lang.Thread.run(Thread.java:764) 2018-10-10 16:39:21.312 31611-31646/com.xfhy.tinkerfirmdemo E/CrashReport: Failed to upload, please check your network. 2018-10-10 16:39:21.312 31611-31646/com.xfhy.tinkerfirmdemo D/CrashReport: Failed to execute post. 2018-10-10 16:39:21.312 31611-31646/com.xfhy.tinkerfirmdemo E/CrashReport: [Upload] Failed to upload(1): Failed to upload for no response! 2018-10-10 16:39:21.313 31611-31646/com.xfhy.tinkerfirmdemo E/CrashReport: [Upload] Failed to upload(1) userinfo: failed after many attempts
解決辦法
- 具體原因:Android P - CLEARTEXT communication not permitted by network security policy 詳細介紹
在資原始檔新建xml目錄,新建檔案
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">android.bugly.qq.com</domain> </domain-config> </network-security-config>
然後在清單檔案中application下加入android:networkSecurityConfig="@xml/network_security_config"
即可