组件化(Portal&Bundle)和 mPaaS Inside 接入方式下的 android support 冲突
冲突说明
mPaaS 内置了基于 23.2.1 版本的 support 库,同时添加了 Fragment 切面逻辑进行自动化页面埋点。如果在使用 mPaaS 的同时也添加了官方版本的 android support 库的话,会出现 android support 冲突。
解决方法
移除 androidsupport-build,直接替换为官方版本。如果还需要使用 mPaaS 提供的 Fragment 自动化日志功能,您需要手动添加 监控逻辑。
说明
原生 AAR 方式并没有内置 support 库,因此您无需做任何处理。但如果您需要使用 mPaaS 提供的 Fragment 自动化日志功能,请手动添加 监控逻辑。
操作步骤
确认当前 mPaaS 所使用的 android support 版本。
'com.android.support:support-v4' 'com.android.support:appcompat-v7'
获取 mPaaS 第三方 SDK 的
group:artifact
信息。'com.alipay.android.phone.thirdparty:androidsupport-build' 'com.alipay.android.phone.thirdparty:androidsupportrecyclerview-build'
移除 mPaaS 库。
AAR 方式如果您是原生 AAR 方式接入 mPaaS,无需主动移除。
mPaaS Inside & 组件化(Portal & Bundle)
mpaascomponents { excludeDependencies = [ "com.alipay.android.phone.thirdparty:androidsupport-build" ] }
原生 AAR 接入方式下的 Android support 冲突
冲突说明
原生 AAR 接入方式使用了基于 23.4.0 版本的 support-v4 库。从 24.2.0 起,Google 更改了代码组织方式,不再以全家桶的方式提供 support-v4 库的所有模块,而 appcompat-v7 采用了全家桶的方式引入库的所有模块,更多详情请参见 支持库软件包。因此,当您的工程使用了 appcompat-v7 包时,会和原生 AAR 所基于的 support-v4 库产生入 AAR 依赖冲突。
解决方法
手动引入高版本 support-v4,同时引入您需要的 appcompat-v7。
操作步骤
主动引入高版本 support-v4。
implementation 'com.android.support:support-v4:(您使用的版本,比如 28.0.0)'
引入您需要的 appcompat-v7。
implementation 'com.android.support:appcompat-v7:(您使用的版本,比如 28.0.0)'