DCloud_heavensoft
DCloud_heavensoft
  • 发布:2017-04-24 03:34
  • 更新:2019-08-22 00:25
  • 阅读:5603

真机运行和打包的差异

分类:HTML5+

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

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

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

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

二. manifest配置
manifest是非常重要的配置文件,每个5 开发者都应该掌握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相关的用户反馈模板等功能也不可用。

5 关注 分享
Trust nearwmy@gmail.com 邝浩东 renjie@ZIJJJ.COM guanpingw@gmail.com

要回复文章请先登录注册

stephenson37@126.com

stephenson37@126.com

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

DCloud_heavensoft (作者)

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

renjie@ZIJJJ.COM

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

lam

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