Android 9.0適配遇到的問題1
文章同步自javaexception
本週在適配Android 9.0,過程中碰到了小問題
問題1:
SSL handshake timed out
解決辦法:
Android 9.0 開始,預設不允許明文傳輸,所以在建立網路連線時會使用 https 連線,同時進行安全認證。如果應用沒有做對應處理,即會發生上述異常。
在應用中的res/xml目錄新增network_security_config.xml檔案。內容如下
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config>
接著在androidManifest.xml檔案的<Application>標籤裡面新增android:networkSecurityConfig="@xml/network_security_config"即可解決此問題
問題2:
Android p 裝置報錯java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion
解決辦法:
在androidManifest.xml檔案的<Application>標籤的內部,新增一個子標籤,內容為
<uses-library android:name="org.apache.http.legacy" android:required="false" />