真机运行、手机运行、真机联调常见问题
请首先保证iTunes或Android手机助手(如360手机助手)可以正常连接手机,如果仍有问题请查阅以下问题是否与自己遇到的情况相同
出现问题手机分析清楚问题在哪个环节。
从在HBuilder菜单里点真机运行,要经历几个步骤:
1. 手机硬件通过usb线连接到HBuilder所在电脑,此时可能因为usb口、数据线、手机硬件等多种问题造成连接失败。
2. HBuilder通过adb或itunes服务检测手机。此时可能因为手机渠道、usb连接设置、adb设置或abd冲突、itunes设置造成检测不到。
3. HBuilder安装调试基座到手机。此时可能因为手机禁止usb安装、Android手机没有sd卡、iOS手机没有信任证书而安装失败。
4. HBuilder将ide中的代码同步到手机上并启动调试基座。这一步一般不会出问题。
下面把各种常见FAQ列出,大家可按图索骥。
Q:HBuilder检测不到手机
A:
真机运行只能运行移动App项目,所以首先必须新建好移动App项目,并选中移动App项目或将焦点放在将要运行的移动App项目的文件编辑器上。HBuilder的项目前面都是有图标的,W表示web项目,A表示App项目。
如果点击手机运行,HBuilder无法找到手机,尝试以下解决方案:
Android设备:
1)确认手机已通过数据线连接电脑
2)如果是Windows系统,确认已安装Android手机驱动。装驱动比较好的方式是使用各种手机助手,比如360、腾讯的各种手机助手,如果有问题,尝试升级助手的版本。
3)确认手机设置中USB调试模式已开启。这个设置一般在OS设置里的开发者选项里。有的手机在插上数据线后在push通知栏里也可以设置。注意不能设置为u盘模式或充电模式,必须是usb调试或usb数据访问模式。
4)如手机屏幕弹出需信任本计算机的询问,请同意该授权。并且最好是把始终同意该设备调试的checkbox勾上
5)Windows系统中,如果在启动HBuilder后才安装驱动连接上手机,可能需要重启HBuilder
6)Windows系统中,如果手机助手正常连接,HBuilder无法检测到手机,可能是这个手机助手独占了Google的ADB服务通道,请关闭所有手机助手及进程里各种*adb.exe。(ADB是Google提供的Android手机与PC端通信的服务)
7 ) 如果是Android5.0系统,不要使用访客模式。这种模式下无法成功运行。
8)Windows系统中,使用管理员权限运行HBuilder
9)Windows系统下,如果以上方案均无法解决,可能是其他软件带的adb与HBuilder冲突,点击检查冲突
10)如果其他软件能检测到手机,但是HBuilder无法检测到,将HBuilder安装目录下的tools/adbs目录(MAC下为HBuilder.app/Contents/tools/adbs目录)下的文件备份,然后将tools/adbs/1.0.31目录下的文件拷贝到tools/adbs目录下,重启HBuilder(注:特别是魅族)
11)关闭右侧的WebView调试模式,重启HBuilder重试
12)Mac系统下,HBuilder无法检测到Android手机:
①关于本机(指Mac系统的关于本机,非手机)-->系统报告->usb->你所连接的device-->厂商ID或者供应商ID(Vendor ID)
②在终端执行如下命令:echo xxxxxx >> ~/.android/adb_usb.ini (“xxxxxx”为厂商ID或者供应商ID(Vendor ID),有些系统下echo命令并不能正确写入文件,可在~/.android/目录下修改或新建adb_usb.ini添加xxxxxx)
③重启HBuilder
④如重启HBuilder仍然不行,请使用命令行(终端.app),cd到HBuilder.app/Contents/tools/adbs目录下运行./adb kill-server重试
⑤重启电脑重试
iOS设备:
1)确认手机已通过数据线连接电脑
2)如果是Windows系统,确认已安装iTunes,若未安装点击下载iTunes
注意iTunes12.1起更改了接口,会造成无法连接:①、HBuilder菜单:工具-插件安装,打开插件安装界面,选择iOS连接插件并安装,安装完并重启HBuilder,尝试是否解决;②、安装最新版本的ITools,重启HBuilder。
3)确认iTunes能正常连接手机
4)如手机屏幕弹出需信任本计算机的询问,请同意该授权
5)如果是第一次安装完itunes,建议重新启动HBuilder
6)如果以上方案都无法解决,有可能是因为本地库与iTunes带的库冲突了,一般是iTunes库目录(32位系统目录为:C:\Program Files\Common Files\Apple\Apple Application Support,64位系统目录为:C:\Program Files (x86)\Common Files\Apple\Apple Application Support)下的dll文件和系统库目录(32位系统目录为:C:\WINDOWS\system32,64位系统目录为:C:\Windows\SysWOW64)下的dll重名,可将iTunes库目录下的同名dll文件拷贝到系统库目录下,或者将系统目录下的同名dll文件重命名或删除,然后再重启HBuilder或者重试真机运行
7)有可能是iTunes安装时依赖库丢失,尝试重装iTunes解决问题
8)iTunes12.1及以上版本无法找到设备:①、HBuilder菜单:工具-插件安装,打开插件安装界面,选择iOS连接插件并安装,安装完并重启HBuilder,尝试是否解决;②、安装最新版本的ITools,重启HBuilder。
9)iOS模拟器如果无法识别:
①:Xcode必须安装在应用程序(Application)中
②:首先用确认Xcode(版本必须是6.0及以上版本)已安装并能正常启动模拟器
③:其次将Xcode的应用名称(可能是Xcode-XXX、Xcode.XXX等)改为Xcode
④:如果仍然无法检测到,则打开Xcode,然后打开Xcode的 Preferences --> Locations,设置该界面中的 Command Line Tools 项,选择正确的Xcode版本即可
排查问题有些方式虽然土,但没办法也要用:
1. 换数据线、换usb口。数据线有时电压不足或接触不良,尝试重新插拔数据线或直接插入电脑USB口,使用普通的USB HUB很容易出现供电不足。
2. 重启HBuilder、重启手机、甚至重启电脑。
如果以上方案均无法解决,请联系QQ:804127452
Q:能检测到手机,但点HBuilder的真机运行,无法安装调试基座
1.部分Android rom如小米有usb安装apk的权限,可能是关闭状态,此时需要在手机管家等设置里寻找usb安装apk的权限,将其打开。
2.部分Android手机在usb安装apk时,会在手机界面上弹框,如果不能及时点弹框,会因为超时而安装失败。请注意手机屏幕的显示。
当HBuilder控制台提示“安装HBuilder基座App失败,请使用手机助手手动安装xxx\android_base.apk。”时,基本都属于这种情况。
如果不是这个原因,就是无法通过HBuilder真机运行的adb安装调试基座,那也只能借助三方工具把HBuilder所在目录里的调试基座android_base.apk手动copy到手机上进行安装了。
Q:检查adb冲突(windows系统)
Android的ADB服务已经被大量软件使用,除了各种手机助手自带adb,其他如搜狗输入法、暴风影音、酷狗音乐、阿里旺旺等众多软件都自带adb。有些工具的adb服务版本低且独占手机通道,就会导致HBuilder无法连接手机。
一般情况下,用户可以在软件的设置里取消该软件对手机的监控。
还可以使用如下方式检测当前是哪个进程在占用Android手机通道。
1)打开系统dos窗口:开始-运行(快捷键:win+r),输入cmd并回车
2)确认adb的启动进程:
寻找端口是5037的tcp连接,在dos中输入:netstat -ano | findstr 5037
在输出结果中找到类似下面的一行:
TCP 127.0.0.1:5037 0.0.0.0:0LISTENING5816
如果内容为空,可能是没有程序在占用adb端口。
或者使用 netstat -ano | findstr 5037>d:/1.txt 输出到文件中查找。
根据查询结果确认端口为5037的连接被那个进程占用,结果中显示的“5816”表示占用adb端口的进程PID。
根据进程的PID可以找到具体进程。
在命令行中输入:tasklist | findstr 5816
在输出结果中找到类似下面的一行:
adb.exe 5816 Console 0 4,440 K
adb.exe(名称一般不是adb.exe,以adb.exe举例)为启动的adb进程。
或者手工在任务管理器中定位这个进程,打开任务管理器后,进入进程选项卡,如果列表里有PID,直接找;如果列表里没有PID,点菜单查看-选择列,勾上PID。
3)解决冲突:
一般发生冲突是,任务管理器的进程里会出现多个adb.exe,或kadb.exe、tadb.exe。。。
在任务管理器中找到adb.exe相关进程,在任务管理中右键该进程,打开文件位置,查看该进程是什么软件启动的。
如果adb.exe不是HBuilder安装目录下的文件,一般可以用以下方案解决冲突:
1、有些软件这种进程是可以设置成不自动启动的,各个软件设置不一样,设置完成后关闭软件就自动退出了
2、在任务管理器中结束该进程
3、有些软件该进程结束后又会被自动启动,所以得将adb.exe文件重命名一下
Q:iPhone真机联调报安装失败 return code=
A:确保HBuilder为最新版。
iOS5目前确实在运行时会报错,其他iOS版本偶发也会报错。此时需要这样处理:
在HBuilder安装目录的/plugins/com.pandora.tools.android_1.0.0.xxxx/base目录下(其中xxxx代表最新日期),手动安装iPhone_base.ipa。
安装方式推荐itools,没有itools使用itunes也可以。
安装完毕后,会在手机上有一个HBuilder的应用。
以后再点真机运行,就可以把项目部署到手机上,然后手动点击HBuilder应用,就能看到项目的结果。
Q:HBuilder控制台不输出日志问题的解决办法
A:
参考http://ask.dcloud.net.cn/article/1336
Q:Android手机真机运行提示应用安装成功,但是其实手机上并没有HBuilder应用
A:
1. 确认USB调试模式是否打开。如果未打开,请打开USB调试模式重新运行真机调试。
2. 如果HBuilder已经检测到手机,可能存在与手机助手冲突的情况,请关闭所有的手机助手重新运行真机调试。
3. 利用手机助手手动安装HBuilder安装目录下的 plugins\com.pandora.tools.android_1.0.0.xxx(最新版本号)\base\android_base.apk到手机上,然后重新运行真机调试
Q:Android真机联调报文件操作Permission denied
A:请尝试以下方法解决:
1、拔出数据线
2、重新打开USB调试模式
3、重新插上数据线,此时手机上可能需要授权确认,点击确认
4、重新运行真机调试看看是否还有问题
5、重启手机,再重新运行真机调试,看看问题是否解决
6、如果还有问题,重新启动HBuilder,重复1-4步骤,再重新运行真机调试,看看问题是否解决
7、如果问题仍然没有解决,则重新安装手机驱动:
1)我的电脑---右键--属性--硬件---设备管理器--删除USB驱动
2)打开手机助手重新安装驱动
此时手机上可能需要授权确认,点击确认,然后再重新运行真机调试
8、如果以上方案均无法解决,则有可能是手机root的时候,把sdcard目录的权限搞错了,导致无法真机运行,此时可以恢复出厂设置,或者重新root,或者刷机解决此问题
Q:Android真机联调报:open '/dev/hwlog_switch' fail -1, 13. Permission denied
A:请尝试以下方法解决:
1、参考http://ask.dcloud.net.cn/article/1336
2、拔插数据线重试
3、重新打开USB调试模式重试
4、重启手机重试
5、重新启动HBuilder重试
6、如果以上方案均无法解决,则有可能是手机root的时候,把sdcard目录的权限搞错了,导致无法真机运行,此时可以恢复出厂设置,或者重新root,或者刷机解决此问题
Q:真机联调图标和启动图片如何更改?
A:真机联调不是打包,资源都是DCloud预先打包好的,只有自己重新打包,才能更改图标、启动图片,这是原生应用的规范。
如果是为了在手机浏览器上使用的WEB应用,还是应该使用手机浏览器来访问。HBuilder内置的web服务器地址配成192.168等内网地址,手机wifi连入,即可访问。
更改HBuilder内置的web服务器地址请点击菜单工具-选项,展开左边的HBuilder-web服务器-内建服务器,在右边更改地址,需要重启HBuilder才生效
Q:为什么Android手机没有SDCard就不能真机调试?
A:Android没有root的手机只有SDCard才有权限。不过此SDCard并不是非得外插一张实体sd卡,是手机里一个叫SDCard的根目录。
如果是使用Android模拟器,在模拟器里可以配置SDCard是否存在及大小。
Q:控制台显示手机应用已启动,但手机屏幕上没有出现?
A:Android手机第一次安装基座应用时,手机端大多有各种杀毒软件要检测一会才会放行,需要等一会。
Q:运行后手机端一直在启动画面停留,不停转圈不能进入
A:这个是应用的js代码的问题,启动画面的关闭是可配置的。参考http://ask.dcloud.net.cn/article/110
Q:为什么我电脑没有插iphone,但HBuilder检测到iOS设备?
A:iTunes支持wifi同步,如果iOS设备启动了wifi同步,电脑端的iTunes就可以检测到,进而HBuilder也可以检测到。
Q:真机运行成功启动,但手机端软件启动后显示的不是正在运行的项目。
A:
1、这种情况是adb连接手机成功,但copy项目文件到手机上失败了。首先尝试重新运行真机调试。
2、Android设备可能存在与手机助手冲突的情况,点击检查冲突
3、确认手机上HBuilder应用安装位置,如果手机上有外置SDCard,不要把HBuilder基座App安装在外置SDCard上,如果是安装在外置SDCard上,卸载外置SDCard上的HBuilder基座App,并在设置中将应用的默认安装位置不要设置为外置的SDCard上,或者将应用转移至手机内存或内置SDCard上,并重新运行真机调试.
Q:真机运行启动后显示HBuilder真机运行(log)界面
A:
1、重新运行真机调试尝试解决问题
2、Android设备可能存在与手机助手冲突的情况,请关闭所有的手机助手重新运行真机调试
3、如果步骤2无法解决,请更换别的手机助手,重新运行真机调试尝试解决问题
4、确认手机上HBuilder应用安装位置,如果手机上有外置sdcard,不要把HBuilder基座App安装在外置sdcard上,如果是安装在外置sdcard上,卸载外置sdcard上的HBuilder基座App,并在设置中将应用的默认安装位置不要设置为外置的sdcard上,或者将应用转移至手机内存或内置sdcard上,并重新运行真机调试
Q:使用genymotion模拟器真机运行,安装apk时报INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
A:
参见genymotion模拟器报INSTALL_FAILED_CPU_ABI_INCOMPATIBLE的解决办法
Q:如何通过wifi真机运行,不插数据线?
A: