DCloud_heavensoft
DCloud_heavensoft
  • 发布:2017-04-24 03:34
  • 更新:2023-09-05 18:33
  • 阅读:11752

真机运行和打包的差异

分类:HTML5+

真机运行使用的是HBuilder自带的,使用DCloud证书打包的调试基座,包括了所有sdk、常用权限配置和方便开发者调试的打包配置。
而云打包则是使用开发者的证书,按照开发者自己配置的sdk、权限、及其他打包配置打包的。

一.云打包机选择原理
HBuilder和HBuilderX是2个版本,连接不同的打包机。
HBuilderX的升级速度快于HBuilder,HBuilder到2018年底就不再升级了。
这里要注意的是:

  • 如果你的ide没升级,那么你的真机运行使用的基座版本是老的,但点了云打包,打包后会变成新的5+引擎了。这样就会产生打包和运行的区别。
  • 如果使用离线打包,那么5+引擎的版本取决于内嵌的5+sdk的版本,和HBuilder版本产生差异时,也会造成真机运行和打包结果不同。

当前使用的5+引擎版本号,可通过plus.runtime的api查询。

二. manifest配置
manifest是非常重要的配置文件,每个开发者都应该掌握,manifest详解:http://ask.dcloud.net.cn/article/94
在HBuilder的manifest可视化编辑界面也有上文的链接。
manifest定义了打包的各种配置,主要分几大类:

  • app基础信息。比如名称、图标、启动splash图片。所以真机运行时,这些都是HBuilder调试基座自带的,只有打包才变化。
  • 应用级的全局配置。比如沉浸式状态栏、全屏、横竖方向切换、是否解压资源。。。
  • 三方sdk配置。大多数三方sdk,需要开发者向sdk原厂申请appkey等信息,然后填写到manifest里打包,否则这些sdk不会工作。HBuilder调试基座使用的是DCloud向sdk原厂申请的appkey,打包时还需开发者自己配置。比如分享、微信支付、登陆、推送、地图、语音识别都需要自己申请和配置。
  • 权限。权限也是打包时必须自己配的,减少权限申请有助于安装包被用户接受。
  • 首页webview设置。对首页webview的控制无法通过js操作,只能在manifest里配。

很多开发者的工程是复制了Hello H5 或Hello mui的示例模板,也使用了相同的manifest,但这个manifest配置不一定适用于开发者,所以建议开发者做项目时新建空工程,自己调整manifest。

其他:
真机运行时使用plus.runtime.appid取值是HBuilder,并非真实的appid,此时涉及appid相关的用户反馈模板等功能也不可用。

6 关注 分享
Trust n***@gmail.com 邝浩东 r***@ZIJJJ.COM g***@gmail.com Richard01

要回复文章请先登录注册

1***@qq.com

1***@qq.com

不明白
2023-09-05 18:33
尼卡路西

尼卡路西

真机跑得没问题,原生APP云打包,打的包就跟本地真机跑的不一致,到底哪个环节出了问题嘛,气死个人,这破13玩意
2023-07-05 13:59
DCloud_云服务_Mal

DCloud_云服务_Mal

回复 4***@qq.com :
你发个贴子详细描述一下你的问题,用的HBuilderX哪个版本,具体是哪儿的功能不一样。你这样描述没办法定位问题
2022-09-03 17:16
4***@qq.com

4***@qq.com

最近刚安装的 HBuilderX 也是 一样,打包和调试 的不一样,这没有人管 了吗
2022-09-03 10:16
1***@qq.com

1***@qq.com

真机的效果和云打包出来的效果不一样,云打包的代码没有更新
2021-04-15 09:18
微博动漫

微博动漫

```
* aaaa
```
2020-04-02 16:43
s***@126.com

s***@126.com

回复 DCloud_heavensoft :
云打包支持jdk8吗
2019-08-22 00:25
DCloud_heavensoft

DCloud_heavensoft (作者)

回复 r***@ZIJJJ.COM :
对。目前的更新速度,HBuilderX最快,其次HBuilder,最后离线打包。
如果使用的ide版本老,而云打包已经升级,就会出现真机老版,打包后新版的情况。
云打包机是和最新版HBuilderX或HBuilder保持同步的
2018-09-01 16:50
r***@ZIJJJ.COM

r***@ZIJJJ.COM

回复 lam :
应该云打包的SDK更新一些吧
2018-09-01 16:22
lam

lam

真机运行,云打包和离线打包都不一样吧。总感觉云打包的sdk和离线打包的sdk是有区别的。
2017-04-24 08:37