应用研发平台EMAS Android热修复依赖的com.aliyun.asm:alicloud-android-utdid 和 人脸认证sdk的com.alipay.android.phone.thirdparty:utdid-build两者冲突了要怎么处理?
当 Android 热修复依赖和第三方人脸认证 SDK 冲突时,您可以尝试以下方法进行处理:
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
defaultConfig {
// 其他配置...
compileOptions {
targetCompatibility = JavaVersion.VERSION_1_8
}
}
allprojects {
repositories {
// 其他仓库...
maven {
url "https://maven.aliyun.com/repository/public/"
}
}
}
}
CopyCopy
dependencies {
implementation project(':utdid')
}
CopyCopy
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
transitiveTrue
}
}
CopyCopy
当应用研发平台EMAS的Android热修复依赖和人脸认证SDK的两个库冲突时,您可以尝试以下几种处理方法:
升级依赖库版本:查看不同库的最新版本,尝试升级其中一个或两个库的版本。有时候,较新的版本可能已解决了库之间的冲突问题。
排除冲突依赖项:如果升级版本无法解决冲突问题,您可以使用Gradle的exclude
语句来排除其中一个库中与另一个库冲突的依赖项。例如:
implementation ('com.aliyun.asm:alicloud-android-utdid:版本号') {
exclude group: 'com.alipay.android.phone.thirdparty', module: 'utdid-build'
}
这样做将会排除人脸认证SDK中与热修复依赖库冲突的部分。
联系供应商获取支持:如果上述方法都无法解决冲突问题,建议您联系EMAS提供商或人脸认证SDK的供应商,并向他们报告该冲突问题。他们可能能够提供特定于这两个库冲突的解决方案或新版本。
阿里云-云产品SDK UTDID冲突解决方案
UTDID命名形式:
Android :utdid4all-x.x.x.jar
iOS :UTDID.framework
2.1 手动集成解决方案
手动删除重复的UTDID SDK,仅保留一个UTDID SDK。
说明:建议保留阿里云平台下载的UTDID SDK。
2.2 远程仓库集成解决方案
Android集成时,可以通过exclude关闭其他产品SDK对UTDID的传递性依赖,示例如下所示:
compile ('com.xxx:xxx.xxx:1.0.1') {
exclude (module:'alicloud-android-utdid')
}
iOS集成时,如果通过CocoaPods进行远程仓库依赖,由于CocoaPods无法关闭传递性依赖,SDK集成需要修改为手动集成。
2.3 与支付宝SDK UTDID冲突
支付宝SDK是通过源码方式集成的UTDID,所以不适用于上述的手动集成解决方案和远程仓库集成解决方案。
可下载并集成 剥离UTDID的支付宝SDK,保留阿里云平台的UTDID包。该版本SDK和通用支付宝SDK保持同步更新,无需担心支付宝相关功能受影响。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。