5***@qq.com
5***@qq.com
  • 发布:2025-12-13 15:52
  • 更新:2025-12-13 15:59
  • 阅读:48

【报Bug】自开发的插件arr打包成自定义基座时,不包含该插件

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: Android

手机系统版本号: Android 11

手机机型: 其他

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

打包运行自定义调试基座——》打包运行APP报错

预期结果:

插件是否存在:, [Boolean] true
15:40:42.756 GB28181插件加载成功,实例对象:, [Object]

实际结果:

[JS Framework] 当前运行的基座不包含原生插件[gbandroidlib],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座
插件是否存在:, [Boolean] false
15:40:42.756 GB28181插件加载成功,实例对象:, undefined

bug描述:

自开发了一个原生插件,插件的package.json配置为:{
"name": "gbandroidlib",
"id": "gbandroidlib",
"version": "1.0.0",
"description": "GB28181协议原生插件",
"_dp_type": "nativeplugin",
"_dp_nativeplugin": {
"android": {
"plugins": [
{
"type": "module",
"name": "gbandroidlib",
"class": "com.nwkj.gb28181lib.UniGB28181Plugin"
}
],
"integrateType": "aar",
"dependencies": [
"com.alibaba:fastjson:1.2.78"
],
"compileOptions": {
"sourceCompatibility": "VERSION_11",
"targetCompatibility": "VERSION_11"
},
"minSdkVersion": 21
}
}
},manifest.json的部分配置为"nativePlugins" : {
"Jwr-SuspendedWindow" : {
"plugin_info" : {
"name" : "SuspendedWindow",
"description" : "该Android悬浮窗插件是一款自定义的悬浮窗插件,它可以帮助开发者在Android应用程序中创建自定义的悬浮窗,并且可以与uni-app进行通信。通过该插件,开发者可以在应用程序中添加各种自定义内容",
"platforms" : "Android",
"url" : "",
"android_package_name" : "",
"ios_bundle_id" : "",
"isCloud" : false,
"bought" : -1,
"pid" : "",
"parameters" : {}
}
},
"gbandroidlib" : {
"
plugin_info
" : {
"name" : "gbandroidlib",
"description" : "GB28181自定义插件",
"platforms" : "Android",
"url" : "",
"android_package_name" : "",
"ios_bundle_id" : "",
"isCloud" : false,
"bought" : -1,
"pid" : "",
"parameters" : {}
}
},
"lin-location" : {
"__plugin_info__" : {
"name" : "lin-location",
"description" : "GPS定位",
"platforms" : "Android",
"url" : "",
"android_package_name" : "",
"ios_bundle_id" : "",
"isCloud" : false,
"bought" : -1,
"pid" : "",
"parameters" : {}
}
}
},安卓/ios原生插件配置已经可以识别gbandroidlib插件,但是打包成自定义调试基座并运行后却报错[JS Framework] 当前运行的基座不包含原生插件[gbandroidlib],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座,其他的原生插件正常

2025-12-13 15:52 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

该bug反馈内容基本完整,提供了清晰的标题、详细描述、配置代码、复现步骤、预期与实际结果及分类信息。但复现步骤过于简略,缺少自定义基座的具体打包操作细节(如是否通过云打包/本地打包、是否勾选"自定义基座"选项),可能影响官方复现效率。

经分析,该bug很可能成立。问题核心在于自定义调试基座未正确包含自研原生插件。根据知识库使用自定义基座打包uni原生插件,自定义基座需确保:

  1. manifest.json中nativePlugins配置与插件package.json的id严格一致(此处"gbandroidlib"匹配)
  2. 必须通过真机运行自定义基座(模拟器可能不支持原生插件调试)
  3. 需重新提交云打包并取消勾选"自定义基座"才能生成正式包,但调试阶段应使用"自定义基座"选项

用户环境(HBuilderX 4.87/Android 11)符合支持范围,非版本兼容性问题。可能原因:

  • 打包时未正确选择"自定义基座"模式
  • 基座安装后未清除旧缓存导致插件未更新
  • 本地插件未按开发调试uni-app原生插件要求通过uni.requireNativePlugin调用

建议用户:1) 确认打包时勾选"自定义基座" 2) 卸载旧基座后重新安装 3) 使用真机调试 4) 检查插件调用代码是否规范。非误报,属典型自定义基座配置问题。

内容为 AI 生成,仅供参考
牛奶包子

牛奶包子

根据你的描述,问题可能出在以下几个方面:

插件ID不一致:确保package.json中的id和manifest.json中的gbandroidlib完全一致(包括大小写)。当前的配置看起来是正确的。

自定义基座重新制作:需要完全删除旧的基座文件(位于unpackage/debug目录下),然后重新制作自定义基座。参考文档

依赖检查:确认fastjson依赖是否正确下载,可以在项目的nativeplugins/gbandroidlib/android目录下检查是否有libs文件夹包含相关aar/jar文件。

HBuilderX版本:确保使用的HBuilderX是较新版本(推荐4.85+),旧版本可能存在插件打包问题。

建议操作步骤:
清除项目缓存(菜单 运行->清理运行环境)
删除现有基座文件
重新制作自定义基座
确认控制台日志中是否显示插件被正确打包

如果问题仍然存在,请检查插件目录结构是否符合规范。

内容为 AI 生成,仅供参考

5***@qq.com

5***@qq.com (作者)

原生插件正常识别,打包时采用自定义调试基座,自定义调试基座的选择云端打包,上述的回答都试过了,其他两个插件可以正常识别

要回复问题请先登录注册