uni-app真机运行和打包的差异

发布于 1周前 作者 yibo5220 来自 Uni-App

uni-app真机运行和打包的差异

一. 云打包机选择原理

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

主要分类

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

其他注意事项

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


1 回复

在uni-app的开发过程中,真机运行和打包是两个重要的环节,它们之间确实存在一些差异。这些差异主要体现在环境配置、性能表现、调试便利性等方面。以下通过代码案例和相关说明来展示这些差异。

真机运行

真机运行是指在开发阶段,将uni-app项目直接部署到真实手机上进行测试。这通常通过HBuilderX IDE或uni-app提供的命令行工具实现。

代码示例

在HBuilderX中,只需点击“运行”按钮,并选择“真机运行”,IDE会自动编译项目并部署到连接的手机上。这个过程通常不需要额外的代码配置,但你需要确保手机已经通过USB调试连接到电脑,并且已经开启了开发者模式。

# 命令行方式(假设已经安装了HBuilderX CLI)
uni-app-cli run -p android --device

特点

  • 实时调试:可以实时查看代码修改后的效果。
  • 性能损耗:由于是在开发模式下运行,可能会有一些性能损耗,比如热更新带来的开销。
  • 调试工具:可以使用HBuilderX提供的调试工具,查看日志、网络请求等。

打包

打包是指将uni-app项目编译成原生应用安装包(如APK、IPA),以便发布到应用商店或分发给用户。

代码示例

在HBuilderX中,点击“发行”菜单,选择“原生App-云打包”或“本地打包”。云打包需要配置相关证书和打包选项,而本地打包则需要安装原生开发环境(如Android Studio、Xcode)。

# 命令行方式(假设已经安装了uni-app CLI和相关原生打包工具)
uni-app-cli build -p android --release
# 注意:这里的命令可能需要根据实际情况调整,比如指定证书路径等。

特点

  • 性能优化:打包后的应用经过了优化,性能通常比真机运行时的开发版本更好。
  • 无法实时调试:打包后的应用需要重新安装到手机上,无法实时查看代码修改后的效果。
  • 发布准备:打包后的应用包可以直接发布到应用商店或分发给用户。

总结

真机运行和打包是uni-app开发流程中的两个重要环节,它们各有优劣。真机运行适合快速迭代和实时调试,而打包则适合最终发布和性能优化。开发者需要根据实际需求选择合适的方式进行测试和发布。在开发过程中,合理利用这两种方式可以大大提高开发效率和应用质量。

回到顶部