Solutions for SDK UTDID conflicts

更新时间:
复制 MD 格式

1. What is a UTDID conflict?

  • Android UTDID packages are named utdid4all-x.x.x.jar. iOS UTDID packages are named UTDID.framework.

  • UTDID is a universal component for mobile SDKs from Alibaba Group. Many mobile SDKs, including those from Alibaba Cloud, depend on UTDID. A UTDID conflict can occur if you integrate mobile SDKs from multiple platforms.

2. How to resolve UTDID conflicts

Note

The Android UTDID version number must be v1.1.5.3 or later. If you cannot confirm the version number, retain the UTDID package from the Alibaba Cloud platform.

2.1 Manual integration

  • Manually delete the duplicate UTDID SDK and retain only one.

  • Retain the UTDID SDK downloaded from the Alibaba Cloud platform.

2.2 Remote repo integration

  • For Android integration, use exclude to disable the transitive dependency on UTDID from other product SDKs. See the following example:

compile ('com.xxx:xxx.xxx:1.0.1') {
  exclude (module: 'utdid4all')
}
  • The module name is not always utdid4all. To learn how to disable the transitive dependency on UTDID, contact the support team for the product SDK.

  • For iOS integration, if you use CocoaPods for remote repo dependencies, you must switch to manual integration. This is because CocoaPods cannot disable transitive dependencies.

2.3 Conflicts with the Alipay SDK

  • The Alipay SDK integrates UTDID from source code. Therefore, the manual integration solution and remote repo integration solution do not apply.

  • Download and integrate the Alipay SDK without UTDID, and retain the UTDID package from the Alibaba Cloud platform.

  • This SDK version is updated in sync with the standard Alipay SDK. Your Alipay features will not be affected.