终于找到问题所在了,在这里我来归纳总结一下,希望能帮到后面的朋友。 排查流程,第一步拿到生成的自定义基座(其实就是个android的安装包),云端给你打包后,会有一个生成地址一般为xxx/unpackage/debug/android_debug.apk,你修改一下apk的后缀为zip,然后用压缩包打开,找到dcloud_uniplugins.json文件后用记事本打开。 2.确保nativePlugins.plugins.name和你的调用代码uni.requireNativePlugin("lianjiao-pda")中的名字保持一致。 确定class为包名+类名 确保package.json中的id和_dp_nativeplugin.android.plugins.name全等于uni.requireNativePlugin(name) 以上都确定好,就没问题了
这个几个地方必须一致。如果在自定义基座打包也是成功的,就是运行过去失败打包本地HTML资源,则需要对比一下以下两个地方。 我底下截图的地方我的就是不一致,导致我在index.vue中调用 var printModule = uni.requireNativePlugin("printModule") 总是提示插件不存在。 后来我改成我zip插件包中package.json的name之后就好了。 var printModule = uni.requireNativePlugin("lianjiao-pda") 改成这就ok了。
目录 unpackage/debug/ 的包名必须是android_debug.apk unpackage/debug/android_debug.apk 官方文档写的像屎一样,根据楼上的步骤在确保基座apk的名称,基本上没问题
kysin
我的怎么没有
nativePlugins.plugins.json
2021-03-28 00:57
7***@qq.com
看我下图的截图,这几个地方必须一致
2021-03-31 10:57
1***@163.com
回复 7***@qq.com: 我的package.json里的id和name, 还有调用时用的都是一样的.manifest里也选中插件了,运行的也是自定义基座... 但是还是提示不包含该插件; 我怀疑可能是我的资源文件和package.json里的编辑不正确. 导致自定义基座打包成功但却没把插件打进去..但我不知道怎么改
2021-09-06 15:08
9***@qq.com
这个是正解,根据这个解决了我的问题
2023-01-02 15:05