DCloud_App_Array
DCloud_App_Array
  • 发布:2019-04-16 15:28
  • 更新:2021-04-12 12:56
  • 阅读:11140

本地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 关注 分享

要回复文章请先登录注册

DCloud_App_Array

DCloud_App_Array (作者)

回复 小高尔基 :
云端插件不会计算在内
2021-04-12 12:56
小高尔基

小高尔基

回复 DCloud_heavensoft :
想问下云端插件会计算到打包资源大小限制(40M)里面吗?
2021-04-10 13:47
zy79410029@126.com

zy79410029@126.com

今天打包一个app好长时间了,怎么回事?
2021-04-06 15:01
DCloud_App_Array

DCloud_App_Array (作者)

回复 94721393@qq.com :
不用解绑,在HX项目manifest.json页面的“App原生插件配置”中不要勾选插件就可以
2021-03-05 11:52
94721393@qq.com

94721393@qq.com

回复 DCloud_App_Array :
怎么解绑试用的插件呢
2021-02-19 19:04
7399873@qq.com

7399873@qq.com

回复 liuqisakuya :
请问这个问题解决了吗?我也遇到这个问题
2021-01-22 16:06
顺流而上

顺流而上

想问下云端插件会计算到打包资源大小限制(40M)里面吗?
2020-12-29 11:36
DCloud_heavensoft

DCloud_heavensoft

回复 突然好想你 :
提交到DCloud服务器的大小。先付费
2020-10-31 19:39
突然好想你

突然好想你

打包超限大小是按打包后的应用大小,还是代码大小?是先付费还是后付费啊
2020-10-31 17:45
liuqisakuya

liuqisakuya

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