原文地址:http://ask.dcloud.net.cn/article/97
请首先保证iTunes或Android手机助手(如360手机助手)可以正常连接手机,如果仍有问题请查阅以下问题是否与自己遇到的情况相同
A:
真机运行只能运行移动App项目,所以首先必须新建好移动App项目,并选中移动App项目或将焦点放在将要运行的移动App项目的文件编辑器上。HBuilder的项目前面都是有图标的,W表示web项目,A表示App项目。
如果点击手机运行,HBuilder无法找到手机,尝试以下解决方案:
Android设备:
1)确认手机已通过数据线连接电脑
2)如果是Windows系统,确认已安装Android手机驱动。装驱动比较好的方式是使用各种手机助手,比如360、金山、腾讯的各种手机助手,如果有问题,尝试升级助手的版本。
3)确认手机设置中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目录下的文件备份,然后将tools\1.0.31目录下的文件拷贝到tools目录下,重启HBuilder
11)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/tools目录下运行./adb kill-server重试
iOS设备:
1)确认手机已通过数据线连接电脑
2)如果是Windows系统,确认已安装iTunes,若未安装点击下载iTunes
注意iTunes12.1起更改了接口,会造成无法连接,详情查看这里:http://ask.dcloud.net.cn/article/163
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无法找到设备,参见iTunes升级12.1后真机联调无法使用的解决办法
9)iOS模拟器如果无法识别,首先用确认Xcode已安装并能正常启动模拟器,其次将Xcode的应用名称(可能是Xcode-XXX、Xcode.XXX等)改为Xcode
排查问题有些方式虽然土,但没办法也要用:
1. 换数据线、换usb口。数据线有时电压不足或接触不良,尝试重新插拔数据线或直接插入电脑USB口,使用普通的USB HUB很容易出现供电不足。
2. 重启HBuilder、重启手机、甚至重启电脑。
如果以上方案均无法解决,请联系QQ:804127452
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:0 LISTENING 5816
如果内容为空,可能是没有程序在占用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文件重命名一下
A:确保HBuilder为最新版。
iOS5目前确实在运行时会报错,其他iOS版本偶发也会报错。此时需要这样处理:
在HBuilder安装目录的/plugins/com.pandora.tools.android_1.0.0.xxxx/base目录下(其中xxxx代表最新日期),手动安装iPhone_base.ipa。
安装方式推荐itools,没有itools使用itunes也可以。
安装完毕后,会在手机上有一个HBuilder的应用。
以后再点真机运行,就可以把项目部署到手机上,然后手动点击HBuilder应用,就能看到项目的结果。
A:
1. 确认USB调试模式是否打开。如果未打开,请打开USB调试模式重新运行真机调试。
2. 如果HBuilder已经检测到手机,可能存在与手机助手冲突的情况,请关闭所有的手机助手重新运行真机调试。
3. 利用手机助手手动安装HBuilder安装目录下的 plugins\com.pandora.tools.android_1.0.0.xxx(最新版本号)\base\android_base.apk到手机上,然后重新运行真机调试
A:请尝试以下方法解决:
1、拔出数据线
2、重新打开USB调试模式
3、重新插上数据线,此时手机上可能需要授权确认,点击确认
4、重新运行真机调试看看是否还有问题
5、重启手机,再重新运行真机调试,看看问题是否解决
6、如果还有问题,重新启动HBuilder,重复1-4步骤,再重新运行真机调试,看看问题是否解决
7、如果问题仍然没有解决,则重新安装手机驱动:
1)我的电脑---右键--属性--硬件---设备管理器--删除USB驱动
2)打开手机助手重新安装驱动
此时手机上可能需要授权确认,点击确认,然后再重新运行真机调试
8、如果以上方案均无法解决,则有可能是手机root的时候,把sdcard目录的权限搞错了,导致无法真机运行,此时可以重新root,或者刷机解决此问题
A:真机联调不是打包,资源都是DCloud预先打包好的,只有自己重新打包,才能更改图标、启动图片,这是原生应用的规范。
如果是为了在手机浏览器上使用的WEB应用,还是应该使用手机浏览器来访问。HBuilder内置的web服务器地址配成192.168等内网地址,手机wifi连入,即可访问。
更改HBuilder内置的web服务器地址请点击菜单工具-选项,展开左边的HBuilder-web服务器-内建服务器,在右边更改地址,需要重启HBuilder才生效
A:Android没有root的手机只有SDCard才有权限。不过此SDCard并不是非得外插一张实体sd卡,是手机里一个叫SDCard的根目录。
如果是使用Android模拟器,在模拟器里可以配置SDCard是否存在及大小。
A:Android手机第一次安装基座应用时,手机端大多有各种杀毒软件要检测一会才会放行,需要等一会。
A:这个是应用的js代码的问题,启动画面的关闭是可配置的。参考 http://ask.dcloud.net.cn/article/110
A:iTunes支持wifi同步,如果iOS设备启动了wifi同步,电脑端的iTunes就可以检测到,进而HBuilder也可以检测到。
A:
1、这种情况是adb连接手机成功,但copy项目文件到手机上失败了。首先尝试重新运行真机调试。
2、Android设备可能存在与手机助手冲突的情况,点击检查冲突
3、确认手机上HBuilder应用安装位置,如果手机上有外置SDCard,不要把HBuilder基座App安装在外置SDCard上,如果是安装在外置SDCard上,卸载外置SDCard上的HBuilder基座App,并在设置中将应用的默认安装位置不要设置为外置的SDCard上,或者将应用转移至手机内存或内置SDCard上,并重新运行真机调试.
A:
1、重新运行真机调试尝试解决问题
2、Android设备可能存在与手机助手冲突的情况,请关闭所有的手机助手重新运行真机调试
3、如果步骤2无法解决,请更换别的手机助手,重新运行真机调试尝试解决问题
4、确认手机上HBuilder应用安装位置,如果手机上有外置sdcard,不要把HBuilder基座App安装在外置sdcard上,如果是安装在外置sdcard上,卸载外置sdcard上的HBuilder基座App,并在设置中将应用的默认安装位置不要设置为外置的sdcard上,或者将应用转移至手机内存或内置sdcard上,并重新运行真机调试
A
参见genymotion模拟器报INSTALL_FAILED_CPU_ABI_INCOMPATIBLE的解决办法
A
有些rom不支持adb静默安装apk,比如小米note,在HBuilder安装基座调试包时,会在手机屏幕上弹框出现安装确认界面,此时如果不在手机上点安装按钮,则HBuilder会超时,然后报上述错误。
此时请点亮手机屏幕,重新运行App,然后在手机出现HBuilder调试基座的安装确认界面后点安装按钮,然后就可以顺利使用了。
如果不是这个原因,就是无法通过HBuilder真机运行的adb安装调试基座,那也只能借助三方工具把xxx\android_base.apk安装到手机上。