最稳路径是用 hbuilderx + usb 调试 + 自定义基座,android 真机需同时开启 usb 调试和文件传输模式,且自定义基座为原生插件等必备前提,chrome://inspect 调试须满足设备连接、自定义基座、代码启用 debug 三条件。

直接连手机调试 uni-app,最稳路径是用 HBuilderX + USB 调试 + 自定义基座(尤其含原生插件时),而不是依赖默认 HBuilder 基座或纯 H5 预览。
Android 真机调试必须开 USB 调试和文件传输模式
很多“连不上”“日志不打印”“adb 设备不识别”的问题,根源就卡在这两步。仅开启“USB 调试”不够,手机还必须设为“文件传输”(MTP)模式,否则 HBuilderX 无法推送调试基座 APK。
- 打开开发者选项:设置 → 关于手机 → 连续点击“版本号”7次(部分机型如魅族在“我的手机”里找系统版本)
- 进入开发者选项 → 打开“USB 调试” → 同时确认“USB 调试(安全设置)”也已启用(部分 MIUI/HarmonyOS 要求)
- USB 连接电脑后,下拉通知栏 → 点击 USB 连接方式 → 选“文件传输”或“传输文件”,不是“仅充电”或“MIDI”
- Windows 若识别失败,手动安装 adb 驱动:HBuilderX 安装目录下
plugins/launcher-tools/tools/adbs/adb.exe可作为 ADB 路径填入运行配置
HBuilderX 运行到安卓基座前要确认插件和证书
自定义基座不是可选项——只要用了原生插件、uniPush、地图、蓝牙等任何 uni.getProvider 或 plus.*** API,就必须走自定义基座流程,否则真机上功能直接失效或白屏。
- 确保已安装“App真机运行”和“App开发版SDK”插件(工具 → 插件安装)
- 安卓需准备
.keystore证书:用 JDK 的keytool生成,路径不能含中文或空格,后续打包自定义基座时必填 - 制作基座:运行 → 运行到手机或模拟器 → 制作自定义基座 → 填写包名、证书路径、别名、密码 → 提交云端打包(约 1–3 分钟)
- 打包成功后,再执行“运行到安卓 App 基座”,HBuilderX 会自动安装并启动调试基座
chrome://inspect 调试 WebView 必须满足三个硬条件
想在 Chrome 里改样式、看 Network、打断点?chrome://inspect/#devices 不是点开就能用,缺一不可。
- 手机已开启“USB 调试”,且数据线连接稳定(建议用原装线)
- App 必须是自定义基座(标准基座默认禁用 WebView 调试)
- 代码中需显式启用调试:在
main.js或App.vue的onLaunch里加if (process.env.UNI_PLATFORM === 'app-plus') { plus.webview.getCurrentWebview().setStyle({ debug: true }); } - Chrome 访问
chrome://inspect后,若设备列表为空,检查手机是否弹出“允许 USB 调试”提示(务必点“确定”,勾选“始终允许”)
vConsole 仅对 H5 有效,App 端不要强求它显示
有人把 vConsole 的初始化逻辑误放到 #ifdef APP-PLUS 下,结果真机上根本看不到控制台——因为 vConsole 是基于浏览器环境的 JS 库,App 端 WebView 默认不支持完整 DOM 操作,且 DCloud 基座做了隔离。
- 正确用法只在 H5 环境:用
#ifdef H5包裹,且确保process.env.NODE_ENV === 'development' - App 端真机日志一律看 HBuilderX 控制台:运行项目后操作手机,
console.log会实时输出,无需额外插件 - 若需查看原生层日志(如 plus.runtime、OAuth 登录失败原因),勾选控制台右上角“显示原生日志”
最容易被忽略的是:自定义基座一旦生成,后续代码修改必须重新“运行到安卓 App 基座”才会生效;而很多人习惯性点“重新编译”,结果手机上跑的还是旧包。真机调试的本质不是“连上就行”,而是让代码、基座、设备三者严格对齐。











