DCloud_App_Array
DCloud_App_Array
  • 发布:2019-04-16 15:28
  • 更新:2022-03-09 14:05
  • 阅读:16834

本地uni-app原生插件提交云端打包

分类:uni-app

从HBuilderX1.9.0开始uni-app原生插件可以直接在插件市场绑定应用后,直接云端打包生效,避免下载uni-app原生插件到本地后再提交云端打包。
同时也继续支持将插件下载到本地后再提交云端打包,通常在以下情况使用这种方式:

  • uni-app原生插件开发者,开发后配置提交云端打包验证插件的包格式是否正确
  • uni-app原生插件使用者,需要对插件自定义修改(如插件的资源等)

获取本地uni-app原生插件

插件市场下载免费uni-app原生插件

可以登录uni原生插件市场,在免费的插件详情页中点击“下载for离线打包”下载原生插件(zip格式),解压到HBuilderX的uni-app项目下的“nativeplugins”目录(如不存在则创建),以下是“DCloud-RichAlert”插件举例,它的下载地址是:https://ext.dcloud.net.cn/plugin?id=36
下载解压后目录结构如下:

开发者自己开发uni-app原生插件

原生插件开发完成后按指定格式压缩为zip包,参考uni-app原生插件格式说明文档
按上图的格式配置到uni-app项目下的“nativeplugins”目录。

uni-app原生插件本地配置

将原生插件配置到uni-app项目的“nativeplugins”下,还需要在manifest.json文件的“App原生插件配置”项下点击“选择本地插件”,在列表中选择需要打包生效的插件:

保存后,重新提交云端打包生效

关于云端打包资源大小超限的说明

云端打包资源大小限制40M,如果超限每次打包需支付一定费用。40M—100M,每次打包10元,每增加100M费用增加10元。请登录开发者中心(https://dev.dcloud.net.cn),选择“打包服务”- “App大小超限充值”进行自助充值后,再提交打包。
如果是为了开发uni-app原生插件提交插件市场前的测试打包,大小超限也需付费才能云端打包,插件上线通过审核以后可以申请退还相关打包费用。
提供开发者账号及插件链接地址发邮件到 bd@dcloud.io 申请,谢谢!

使用 Windows 系统提交 iOS 本地插件打包报错的解决方法

如果使用 mac 提交本地插件打包正常,而使用 Windows 系统提交 iOS 本地插件打包时报错,是因为插件包使用的某个 .framework 库中存现软链接,在 Windows 系统上解压后导致软链接失效,打包时导致这个库缺失,所以会报错
报错如下图:

解决办法:
1.依次查看插件iOS目录下面的 .framework 库文件,下面以 UTDID.framework 为例,打开后发现 UTDID、Resources、Headers 大小都为 1kb,说明这几个文件既是软链(在Windows上加压后被转换为文本文件,无法链接到真实文件)


2.用记事本打开这几个文件,里面写的就是链接的真实文件目录,(链接的是/Versions/A/目录中的文件)

3.把真实文件拷贝到这个库的根目录,将其他文件全部删除即可,最终的库文件

然后重新提交打包即可;

使用uni-app原生插件参考:uni-app原生插件(native plugin)使用说明
更多uni-app原生插件文档参考:uni-app原生插件开发指南

0 关注 分享

要回复文章请先登录注册

liuqisakuya

liuqisakuya

ios打自定义基座和正式包都会提示“[JS Framework] 当前运行的基座不包含原生插件[ADialog],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座”;
但都是根据文档配置的本地插件,最后的包依然有这个问题
2020-08-19 12:23
DCloud_App_Array

DCloud_App_Array (作者)

回复 墨溪 :
反编译确认aar是否已经打包进去
2020-03-11 19:51
墨溪

墨溪

TypeError:xxx.startQYSDKView is not a function 打出aar包放进去,为什么找不到写好的方法,怎么看哪里出问题了
2020-03-11 18:43
DCloud_App_Array

DCloud_App_Array (作者)

回复 指尖上的代码 :
aar文件直接放到插件的android目录下,参考:https://ask.dcloud.net.cn/article/35414
可以在这里下载示例插件:http://ext.dcloud.net.cn/plugin?id=36
2019-07-05 15:23
指尖上的代码

指尖上的代码

我现在的插件是aar的,怎么弄啊。。。社区也没有相关的帖子
2019-07-03 17:12