uniapp自定义插件打包,未将配置的依赖打包进去

前言:有关uniapp调用安卓第三方sdk,需要将第三方提供的arr在自定义插件中使用,封装成插件,再打包提供给uniapp调用。

问题:由于第三方sdk依赖了 com.google.protobuf:protobuf-java:3.21.12 ,我在 dependencies节点中添加了该依赖, implementation 'com.google.protobuf:protobuf-java:3.21.12' ,在自定义插件方法中调用也没问题,打包后,在uniapp中调用失败,报错找不到 protobuf 这个包,后来发现arr包的内部结构中确实也没有protobuf 这个包。

解决办法:手动下载这个jar包,放在libs中,右击 选择as library,可以看到 dependencies中自动添加了 implementation files('libs\\protobuf-java-3.21.12.jar'), 重新打包,可以看到arr包的内部结构中有了这个jar包。

附上下载jar包地址:仓库服务 (aliyun.com)

原因:我也不知道为什么打包不进去,我在网上查阅资料时发现,如果你的第三方sdk依赖于私有maven仓库,需要手动下载jar包。可是我这个也不是私有maven...希望路过的大佬能帮忙解答一下~


如果你遇到了像我一样,在android studio这边使用自定义插件时,能调用第三方sdk,但是打包arr,在uniapp中无法使用sdk中的方法,请检查:

1. 先检查你的自定义插件是否能够使用,可以先写个简单示例,在uniapp调用。

2. 在uniapp中除了要将你自己打包的arr放进去,第三方的arr也要放进去。

3. 如果第三方的sdk使用了其他依赖,检查你打包的arr中是否包含这个依赖,没有可手动下载,放在libs中,右击 as library,重新打包即可。

4. 代码添加tray catch,根据报错找原因。(异常分为Exception和Error,Error需要使用Throwable来捕获)

Map map = new HashMap<>();
try {

 } catch (Throwable e){
    String s = e.toString();
    map.put("error", s);
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值