Qiniu Android SDK 插件,提供对 libcurl 集成功能
本插件版本 | 最低 Android版本 | 依赖库版本 |
---|---|---|
1.0.* | Android 5.1+ | qiniu-android-sdk v8.5.0 |
将 sdk jar 文件 复制到项目中去,jar包下载地址 , 下载对应的jar包,以及搜索下载对应的依赖库
- Android Studio中添加dependencies 或者 在项目中添加maven依赖
// 1. 直接导入
// 移除 qiniu-android-sdk 依赖 : implementation 'com.qiniu:qiniu-android-sdk:x.x.+'
implementation 'com.qiniu:qiniu-android-curl-plugin:1.0.0'
// 2. 如果要修改 qiniu-android-sdk 依赖的版本,可采用以下方式(强烈建议使用七牛库依赖的 qiniu-android-sdk 版本)
implementation ('com.qiniu:qiniu-android-curl-plugin:1.0.0'){
exclude (group: 'com.qiniu', module: 'qiniu-android-sdk')
}
implementation 'com.qiniu:qiniu-android-sdk:8.5.0' // 最低版本 8.5.0
- 如果是 eclipse, 也可以直接添加依赖来处理。
1).使用 CurlClient 作为 七牛云存储 Android SDK 上传请求的 requestClient
import com.qiniu.android.storage.Configuration;
import com.qiniu.android.storage.UploadManager;
// @param caPath: SSL 证书本地路径;如果想自定义 CA 可设置此选项,此处为 CA 文件的本地路径。
// 如果未定义(caPath 配置 null)则使用 SDK 内部提供的 CA 证书,证书来源:https://curl.se/ca/cacert.pem
CurlClient client = new CurlClient(caPath);
Configuration config = new Configuration.Builder()
.requestClient(client)
.build();
UploadManager manager = new UploadManager(config);
2).独立使用 CurlClient 发起 http 请求
import com.qiniu.client.curl;
import com.qiniu.android.http.ResponseInfo;
import com.qiniu.android.http.metrics.UploadSingleRequestMetrics;
import com.qiniu.android.http.request.IRequestClient;
import com.qiniu.android.http.request.Request;
// 如果想自定义 CA 可设置此选项,此处为 CA 文件的路径
// CA 文件参考:https://curl.se/ca/cacert.pem
// CurlClient client = new CurlClient("CaPath");
CurlClient client = new CurlClient();
client.request(request, new IRequestClient.Options(null, true, null), null, new IRequestClient.RequestClientCompleteHandler() {
@Override
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {
// code
}
});
$ ./gradlew connectedAndroidTest
1).关于混淆配置:
混淆处理 对七牛的SDK不需要做特殊混淆处理,混淆时将七牛相关的包都排除就可以了。
在 Android Studio 中,混淆配置在 proguard-rules.pro 里面加上下面几行混淆代码就行:
-keep class com.qiniu.**{*;}
-keep class com.qiniu.**{public <init>();}
-ignorewarnings
注意:-ignorewarnings这个也是必须加的,如果不加这个编译的时候可能是可以通过的,但是release的时候还是会出现错误。
对于Eeclipse中也是一样的,在proguard-project.txt 文件附件同样的排除代码就可以了
-keep class com.qiniu.**{*;}
-keep class com.qiniu.**{public <init>();}
-ignorewarnings
详情参考代码提交指南。
- 如果需要帮助,请提交工单(在portal右侧点击咨询和建议提交工单,或者直接向 [email protected] 发送邮件)
- 如果有什么问题,可以到问答社区提问,问答社区
- 更详细的文档,见官方文档站
- 如果发现了bug, 欢迎提交 issue
- 如果有功能需求,欢迎提交 issue
- 如果要提交代码,欢迎提交 pull request
- 欢迎关注我们的微信 微博,及时获取动态信息。
The MIT License (MIT).详情见 License文件.