Solutions for SDK UTDID conflicts

更新时间:
复制 MD 格式

1. What is a UTDID conflict?

  • The Android UTDID package is named in the format utdid4all-x.x.x.jar. The iOS UTDID package is named in the format UTDID.framework.

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

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 UTDID version number, follow the solutions below and keep the UTDID package from the Alibaba Cloud platform.

2.1 Manual integration solution

  • Manually delete any duplicate UTDID SDKs. Keep only one.

  • Keep the UTDID SDK that you downloaded from the Alibaba Cloud platform.

2.2 Remote repo integration solution

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

compile ('com.xxx:xxx.xxx:1.0.1') {
  exclude (module: 'utdid4all')
}
  • The module name may not be utdid4all. To learn how to disable the transitive dependency on UTDID, contact the support team for the specific 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 UTDID conflicts with the Alipay SDK

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

  • Download and integrate the Alipay SDK with UTDID removed, and keep the UTDID package from the Alibaba Cloud platform.

  • This SDK version is updated in sync with the standard Alipay SDK. This will not affect any Alipay features.