按照阿里云文档上的介绍,在实际操作中会出现问题,现在基于AS3.5.2重新梳理下配置流程。
1.(非必要)在Project的build.gradle中,添加仓库地址,加快下载速度。
buildscript {
repositories {
maven {url 'https://maven.aliyun.com/repository/jcenter'}
maven {url 'https://maven.aliyun.com/repository/google'}
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
//国内最快的镜像源,没有之一
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
mavenCentral()
maven { url "https://jitpack.io" }
maven { url 'https://dl.google.com/dl/android/maven2/' }
google()
jcenter()
}
}
2.在app的build.gradle中,添加依赖
dependencies {
implementation 'com.aliyun.dpa:oss-android-sdk:+'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'com.squareup.okio:okio:1.14.0'
}
3.在AndroidManifest中,添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4.因为新版本的Android P及以上需要使用https加密传输,而OSS使用http,需要在<application/>中添加
android:usesCleartextTraffic="true"
5.在混淆文件proguard-rules.pro中,添加如下代码
-keep class com.alibaba.sdk.android.oss.** { *; }
-dontwarn okio.**
-dontwarn org.apache.commons.codec.binary.**