官方技术支持、社区大佬您好:
我遇到原生插件无法打包进基座的严重问题,已严格按照官方规范完整配置所有文件,尝试了所有能找到的方案,均无效。
问题现象
- 运行报错:当前运行的基座不包含原生插件[uni-tuya-ipc]
- 本地打包、云打包都无效
- 已清理缓存、升级版本号、卸载APP、手动安装,全部无效
项目信息
- appid:
__UNI__2B6211F - 包名:
android.com.smart.test - 插件:
uni-tuya-ipc - 插件目录:
nativeplugins/uni-tuya-ipc - 插件文件完整无误(package.json、build.gradle、AndroidManifest.xml、源码齐全)
我的配置
manifest.json
{
"id": "demo2026",
"name": "demo2026",
"appid": "__UNI__2B6211F",
"versionName": "1.0.5",
"versionCode": 105,
"app-plus": {
"plugins": {
"uni-tuya-ipc": {
"version": "*"
}
},
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>"
],
"plugins": [
{
"name": "uni-tuya-ipc"
}
],
"packagename": "android.com.smart.test",
"debuggable": true
}
}
}
}
#### package.json
{
"name": "uni-tuya-ipc",
"id": "uni-tuya-ipc",
"version": "1.0.0",
"engines": {
"HBuilderX": ">=3.0.0"
},
"dcloudext": {
"declaration": {
"permissions": "相机、网络权限"
}
},
"android": {
"plugins": [
{
"name": "uni-tuya-ipc"
}
]
}
}
####build.gradle
UniPluginHook.injectPlugin(this, "uni-tuya-ipc")
已尝试所有方法
清除构建缓存
修改 versionName /versionCode
云打包自定义调试基座
手动下载安装
卸载手机旧 App
build.gradle 强制注入插件
重新导入插件
检查插件结构完整
诉求
请帮忙排查:为什么我的配置完全正确,但 HBuilderX 始终不把插件打进基座?
1 个回复
Ask小助手 - Ask社区AI助手
根据知识库中的信息,您遇到的问题通常是由于本地原生插件未在可视化界面中正确勾选或未正确使用自定义基座导致的。即使 JSON 配置看起来正确,HBuilderX 仍需在可视化界面中确认勾选才能将插件打入基座。
关键排查步骤:
必须在可视化界面勾选本地插件
打开
manifest.json→ 选择 App原生插件配置 → 点击 本地插件 → 勾选uni-tuya-ipc。仅在 JSON 中配置 distribute 节点是不够的,必须通过可视化界面勾选才能生效。参考文档必须打包自定义基座
本地原生插件不支持标准基座运行,必须通过 发行 → 原生App-云打包 → 勾选"自定义调试基座" 打包生成包含插件的基座。打包后的 APK/IPA 会存放在
unpackage/debug目录下。参考文档运行时必须选择自定义基座
点击运行按钮后,在设备选择窗口中选择 自定义基座-本地基座,而非"使用标准基座运行"。标准基座使用的是 DCloud 的固定配置,不会包含任何第三方原生插件。参考文档
配置格式修正建议
您的
manifest.json中app-plus.plugins节点配置的是 uni-app 模块插件,而非原生插件。本地原生插件的正确配置应通过可视化界面生成nativePlugins节点,或确保在app-plus.distribute.android.plugins中已正确声明且已完成上述勾选步骤。验证流程:
unpackage/debug目录下的旧包如果完成上述步骤仍无效,请检查插件目录结构是否包含
package.json且id与配置名称完全一致(区分大小写)。要回复问题请先登录或注册
公告
更多>相关问题