问题:uniapp 在调用原生插件,插件中包含第三方 SDK时抛出 NoClassDefFoundError
异常
因为我的原生插件是自己封装的 *.arr文件,用到了common-net 的插件,在执行 Make Module 后在uniapp 项目中引用,在打包自定义基座时抛出异常:NoClassDefFoundError
。
修改module -> telnet -> build.gradle 中的 compileOnly
改为 implementation
:
我引用的是 commons-net-3.8.0.jar
之前的代码:
dependencies {
compileOnly fileTree(include: ['commons-net-3.8.0.jar'], dir: './libs') //引如的第3方插件,将compileOnly修改为implementation
}
修改后:
dependencies {
implementation fileTree(include: ['commons-net-3.8.0.jar'], dir: './libs')
}
如图:
然后重新Make Module ,再引入项目就可以了。
注意:
我的插件 commons-net-3.8.0.jar
是在本地lib中引入,在 uniapp的项目中nativeplugins —> telnet —> package.json的 dependencies
未添加依赖库,亲测有效。
参考:uniapp调用原生插件包含第三方SDK时抛NoClassDefFoundError异常
其他解决办法:参考uniapp之Android插件开发,引入第三方的库的NoClassDefFoundError问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)