阿里百川电商 SDK Android 接入教程 (Kotlin + Android Studio 4.1.2)¶
备注
网上有很多 Android 接入阿里百川 的文档 & 资料(官方也有接入流程的文档 0 ), 但是他们大多数的都是仅支持 Gradle 3.x 版本, 不支持 最新版本的 Gradle 以及 Android Studio.
申请 百川电商 SDK 权限¶
前往 阿里百川 开发者控制台 1 申请 百川电商 SDK 的权限。
提示
如果您还没有应用,可以创建应用之后再申请相应的权限。
获取安全图¶
前往 阿里百川 开发者控制台 1 获取 v5 版本的安全图。
备注
当前 阿里百川 在改版,尚未测试 v6 版本的安全图是否可以正常初始化。
提示
在获取 Android 安全图的时候,需要上传 APK。
这个 APK 使用的 包名(BundleID) 和 签名 必须跟发布的包名和签名一致
也就是说: 您在这儿上传的 APK 必须 使用正式版本的 包名 和 签名。
集成 阿里百川 SDK¶
修改 gradle 配置¶
修改 build.gradle 文件 添加 百川的 maven 地址 及 本地库的目录地址:
allprojects {
repositories {
google()
jcenter()
// 这儿是添加的
maven {
url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
}
// 如果没有则添加
flatDir {
dirs project(':app').file('libs')
}
}
}
buildscript {
// ... other config
repositories {
google()
jcenter()
// 这儿是添加的
maven {
url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
}
}
// ... other config
}
警告
这儿修改的是根目录的 build.gradle 文件, 不是 APP 目录的 build.gradle。
修改 app build.gradle 配置¶
修改 app 目录中的 build.gradle 配置文件:
警告
signingConfigs 即使在开发的时候也必须配置(Debug 版本), 而且签名配置必须跟正式版的一样,否则会导致阿里百川初始化失败。
dependencies {
// ... 其他的 SDK 或者依赖
// 阿里百川 接入文档:
// https://developer.alibaba.com/docs/doc.htm?treeId=129&articleId=106383&docType=1
// 下面都是需要添加的
//支付宝
implementation 'com.ali.auth.sdk:alibabauth_core:2.0.0.6@aar'
implementation 'com.ali.auth.sdk:alibabauth_ui:2.0.0.6@aar'
implementation 'com.ali.auth.sdk:alibabauth_ext:2.0.0.6@aar'
//支付宝SDK
implementation(name: "standardcashier-single", version: "15.6.5", ext: "aar")
compileOnly(name: 'apsecuritysdk-all', version: "3.3.0", ext: 'jar')
//安全组件
implementation(name: 'securityguardaar3', version: "5.4.171", ext: 'aar')
implementation(name: 'securitybodyaar3', version: "5.4.99", ext: 'aar')
implementation(name: 'avmpaar3', version: "5.4.36", ext: 'aar')
implementation(name: 'sgmiddletieraar3', version: "5.4.9", ext: 'aar')
//Mtop
implementation(name: 'mtopsdk_allinone_open', version: "3.1.2.5", ext: 'jar')
//applink
implementation 'com.alibaba.sdk.android:alibc_link_partner:4.1.15@aar'
//ut(jar包远端依赖)
implementation 'com.taobao.android:utdid4all:1.5.2'
implementation 'com.alibaba.mtl:app-monitor-sdk:2.6.4.5_for_bc'
// 电商基础组件
implementation 'com.alibaba.sdk.android:AlibcTradeCommon:4.0.0.2@aar'
implementation 'com.alibaba.sdk.android:AlibcTradeBiz:4.0.0.2@aar'
implementation 'com.alibaba.sdk.android:nb_trade:4.0.0.2@aar'
implementation 'com.alibaba:fastjson:1.2.75'
}
备注
有些人可能已经注意到了,有些 依赖 使用的是本地的包,而不是直接依赖 阿里百川 仓库中的, 这是因为 如果全部直接都使用阿里百川仓库中的包,初始化肯定会失败.
对于这些需要的 jar 离线包,直接从阿里百川仓库中下载就可以了。
个人猜测:可能是阿里百川中心仓库跟最新版的 gradle (4.1) 不兼容导致。
放置 安全图¶
把 下载的安全图(yw_1222.jpg) 放到 app 的 drawable 目录中。
警告
这儿下载的安全图必须是 Android 版本的安全图。
安全图可以从 阿里百川 开发者控制台 1 下载。
最好写一个 空的 Activity 引用这个安全图,否则打包的时候 安全图有可能被删除掉。
初始化 阿里百川 SDK¶
在 APP 入口类(继承 Application 的类) 的 onCreate 函数中添加:
AlibcTradeSDK.asyncInit(this, AliBCCallback(this))
备注
AliBCCallback 回调函数需要您自己实现。
重新编译并且运行检测阿里百川是否初始化成功。
提示
最好先 Build Clean 一下,然后再重新编译, 有些时候缓存会造成一些问题。
完整的实现可以参考奇遇淘客 2 .
备注
Proguard 规则使用官方的配置就可以, 参见 0 。