简体中文
因手机差异较大,HBuilder并没有提供App的模拟器。不管uni-app或5+App/wap2app项目,都需要连接真实的手机或手机模拟器来运行测试,称之为“真机运行”。
真机运行的目的,是为了实现代码修改的热刷新,避免打包才能看到效果。在HBuilder中编辑代码,在手机上实时看到修改效果,并且可以在HBuilder控制台看到日志。
通过HBuilder顶部运行菜单、或工具栏运行按钮、或快捷键,均可激活运行入口。
可以按数字快速选择菜单项。比如按“4”选择“运行到Android App基座”。也可以按上下键然后回车选择。
相比于HBuilder顶部运行菜单,工具栏运行按钮下的运行菜单内容较少,只保留了最常见的运行。
实际上激活了工具栏运行按钮。可继续搭配数字键,实现无鼠标快捷运行操作。
点击运行到iOS或Android设备时,会弹出选择界面,需选择要连接的手机设备或模拟器。
可以多设备运行,每个运行设备会在HBuilder底部控制台新开一个独立窗口,互不干扰。 但一个设备同时只能运行一个项目,不同的项目运行到相同手机只有最后一个项目生效。
连接设备过程中如果找不到手机,可以尝试点击“刷新”按钮,如果还是无法找到手机请参考真机运行常见问题
注意事项
USB调试
模式已开启。通常在手机的【设置】【开发者选项】里,有的手机在插上数据线后在系统通知栏里也可以设置,注意不能设置为u盘模式,如果是充电模式则必须同时设置充电时允许usb调试
。HBuilderX中自带的标准真机运行基座使用DCloud向苹果申请的企业开发者证书签名,根据苹果开发者企业计划许可协议要求,使用企业开发者证书签名的App只允许企业员工内部使用,不允许企业外部人员安装使用。 因收到苹果公司警告,自2022年9月14日起iOS真机设备不再支持使用标准真机运行基座,详情见论坛公告:https://ask.dcloud.net.cn/article/40041 在iOS真机设备上运行请向苹果申请证书制作自定义基座或者在Mac电脑使用iOS模拟器
注意事项
如果是Mac电脑安装XCode后,“标准运行基座”支持使用iOS模拟器
点击后进入iOS模拟器选择界面
上面的界面会额外显示搜索框,因XCode的iOS模拟器非常多,可通过搜索框过滤快速选择需要使用的模拟器。
初次运行时会提示安装“真机运行插件”。
该插件内置“标准运行基座”,这个基座使用的是DCloud的包名、证书和三方SDK配置。如果要自定义,则需要使用自定义运行基座
在运行菜单中选择要运行的手机设备或模拟器,点击运行按钮,会执行如下流程:
运行成功后,HBuilder底部的控制台显示成功日志。此后修改代码会差量同步到手机上,手机程序会动态热刷。同时console.log代码会打印到控制台上,点击打印日志可以跳转到相关代码。
目前仅支持MacOSX,不支持Windows
HBuilderX 3.7.0+版本,新增 运行App项目到iOS真机,运行成功后,手机上的App会自动打开。
如下图所示:
注意: MacOSX需要安装跟iOS手机系统相匹配的Xcode版本。 比如iPhone手机系统是iOS 16.2,那么也需要安装支持iOS 16.2的Xcode版本。如果/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
目录下不存在跟手机系统相匹配的iOS Platforms
, 那么是无法自启动App的。请在手机端点击运行基座图标手动启动。
使用如下命令,可以查看Xcode iOS Platforms数据。
ls -lh /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
MacOSX,如果无法自动启动App,请排查以下原因:
标准运行基座,是DCloud为方便开发者低门槛调试而提供的,此基座App使用的是DCloud的包名、证书和三方SDK配置。
在原生层不变的情况下,js等动态代码可以在运行基座上动态加载,实现热重载运行。
HBuilderX3.7.1版本调整标准基座支持的系统版本
如果要自定义原生层,则需要走一遍iOS或Android的打包流程,由XCode或Android studio编译打包生成ipa或apk安装包。
但打包后无法方便调试,不能热重载和显示控制台日志。所以HBuilder在打包时提供了一个特殊选项,打包“自定义运行基座”。
打包App的入口在HBuilder顶部发行菜单,或快捷键【Ctrl+u】
自定义运行基座可以所有配置生效(主要是manifest.json的配置),包括:
打包自定义运行基座后,HBuilder会自动将生成后的apk和ipa包存放在 项目目录/unpackage/debug目录下,文件名分别为android_debug.apk
和iOS_debug.ipa
。
一个项目只能生成一个自定义基座,多次生成只保留最后一次结果。
生成自定义基座后,在设备选择窗口,可以选择自定义基座,如下图所示:
注意:自定义运行基座必须在HBuilderX中真机运行使用,不可直接安装使用,启动时会弹出toast提示信息。正式发版时需要按正常打包方式重新打包。
HBuilderX 3.7.13起,MacOSX系统,App项目,支持运行自定义基座到iOS模拟器。参考文档
可使用离线SDK打包生成自定义运行基座(不支持cli方式,将src拖拽到编辑器中,并重新识别项目类型),生成后将apk和ipa包存放在项目目录/unpackage/debug目录下,文件名分别为android_debug.apk和iOS_debug.ipa。
默认标准基座闪退 可以查看手机存储根目录 /Android/data/io.dcloud.HBuilder/logs/io.dcloud.HBuilder/crash/
崩溃日志文件
自定义基座闪退 可以查看手机存储根目录 /Android/data/packageName/logs/packageName/crash/
崩溃日志文件
packageName: apk包名
apk包名是“uni.UNIB89CXX”,目录则为:/Android/data/uni.UNIB89CXX/logs/uni.UNIB89CXX/crash/
注意不是所有崩溃都能捕获到并保存文件