在 Android 9.0 的手機上,上傳文件到阿里雲 OSS 上,不論請求是否成功,均沒有回調。html
而在 9.0 如下的手機中,嘗試均沒有問題。android
上傳調用方式以下:git
OSSClient oss = new OSSClient(context, endpoint, credentialProvider, conf);
PutObjectResult putResult = oss.putObject(put);
⬇️
這一步後報錯。
oss 上傳的地址: http://oss-cn-hangzhou.aliyuncs.com
複製代碼
報錯內容:github
Failed resolution of: Lorg/apache/commons/codec/binary/Base64;
複製代碼
更改 AndroidManifest 的 application 標籤下的配置。apache
添加 networkSecurityConfig(網絡安全配置)。api
android:networkSecurityConfig="@xml/network_security_config"
複製代碼
network_security_config 文件內容以下:安全
<?xml version="1.0" encoding="utf-8"?>
<network-security-config xmlns:tools="http://schemas.android.com/tools">
<base-config cleartextTrafficPermitted="true"/>
</network-security-config>
複製代碼
其餘標籤屬性參考:網絡安全性配置bash
兼容後,再次嘗試,依然是報錯。網絡
api 'com.aliyun.dpa:oss-android-sdk:+'
,如今最新版爲 2.9.2。http://oss-cn-hangzhou.aliyuncs.com
再次嘗試成功。app
這個錯誤耗費了我幾乎一下午的時間,在此記錄一下,以防遺忘。