本地原生插件与HBuilderX内置模块使用的库冲突:
在本地插件 /nativeplugins/插件/package.json 中增加 excludeDependencies 配置,示例如下:
{
"name": "test-plugin",
"_dp_type": "nativeplugin",
"_dp_nativeplugin": {
"android": {
// 可选,需要排除的HX内置模块依赖库名称
"excludeDependencies": ["alipaysdk-noutdid-15.8.03.210428205839.aar"]
}
}
}
这样在打包时,就可以不打包这个依赖的库。比如代码示例中:原生插件中的 alipaysdk 与 manifest.json 中的 APP模块配置[支付宝支付] 冲突。
云端插件与HBuilderX内置模块使用的库冲突:
如果插件中包含的 jar/aar 依赖库,与 其它插件 或 HBuilderX内置模块存在冲突,可以配置插件中冲突的 jar/aar 库不参与编译打包来解决冲突。 比如 插件A 中使用的 alipaysdk-noutdid-15.8.03.210428205839.aar 与其它库冲突,可以在 uni-app 项目的 _nativeplugins/插件A/ 目录(云端插件需要手动创建目录)中创建 android-exclude.txt 文件,文件内容如下:
alipaysdk-noutdid-15.8.03.210428205839.aar
原生插件 jar 冲突:
假如在打包时,出现了 jar 包冲突,那么可以做一下步骤:
- 在 uni-app项目的 nativeplugins/插件A/ 目录(云端插件需要手动创建目录)中创建 android-exclude.txt 文件。具体内容可以参考 平台依赖库冲突如何解决?
- 创建成功后,打包还是出现了 jar 包冲突,那么表示这个 jar 不在这个原生插件包的 libs 文件夹里面,而在插件包中所依赖的 arr 包里,这就只能联系开发者了。
- 如果是自己开发的插件,那么就不需要把 jar 打入 arr 包中,而在 原生插件包中 增加 libs 的方式引用;或者使用maven方式引入jar,再对齐进行混淆。
3 个评论
要回复文章请先登录或注册
长方体移动师 (作者)
味
8***@qq.com