阿里云首页 移动开发平台 mPaaS 相关技术圈

解决无线保镖冲突

冲突说明

如果在使用 mPaaS 的同时也使用了其他阿里系 SDK,那么可能会出现存在无线保镖冲突(SecurityGuardSDK)的情况。

解决办法

mPaaS 提供移除 mPaaS 无线保镖库,使用其他阿里系 SDK 提供的保镖库。

操作步骤

  1. 确认当前 mPaaS 所使用的无线保镖 SDK 的版本,以便选取相同或相近的其他阿里系保镖库。

    'SecurityGuardSDK-without-resources-5.4.2009'
  2. 确认 mPaaS 使用的无线保镖 SDK 的 group:artifact 信息。

    'com.alipay.android.phone.thirdparty:securityguard-build'
  3. 移除 mPaaS 无线保镖。

    • AAR 方式

      configurations {
      all*.exclude group:'com.alipay.android.phone.thirdparty', module: 'securityguard-build'
      }
    • mPaaS Inside & 组件化(Portal & Bundle)

      mpaascomponents {
      excludeDependencies = [
         "com.alipay.android.phone.thirdparty:securityguard-build"
      ]
      }
  4. 解决图片冲突。

    1. config 中增加图片后缀并编译。在 config 文件中加入 "authCode": "1234",其中,1234 可以为任意字符串,建议使用 4 位数字。

      {
      "appId":"xxx",
      "appKey":"xxx",
      "base64Code":"xxx",
      "packageName":"xxx",
      "rootPath":"xxx",
      "workspaceId":"xxx",
      "rpcGW":"xxx",
      "mpaasapi":"xxx",
      "pushPort":"xxx",
      "pushGW":"xxx",
      "logGW":"xxx",
      "syncport":"xxx",
      "syncserver":"xxx",
      "authCode": "1234"
      }
    2. 验证图片后缀是否生效。通过反编译,查看生成的 apk 中是否在 drawable 中存在 yw_1222_1234.jpg 图片,以及在 AndroidManifest 中是否含有如下信息。

      <meta-data
      android:name="security_guard_auth_code"
      android:value="1234" />
      说明

      解决图片冲突仅支持 10.1.32.7 及以上、10.1.60(beta 版需要 beta.7 及以上)和 10.1.68 基线版本。