Hbuilder是一个非常好用的HTML5开发IDE,我最喜欢的功能就是连接手机调试了,连接手机调试有两种途径,一是通过USB连接真机,二是下载安装一个安卓模拟器,让Hbuilder连接到安卓模拟器,如果不怕麻烦的话,可以选择第一种方式,但是我总是不想用USB线连上我的又卡又慢的安卓机开发,因此我选择用安卓模拟器。

 

关于真机运行、手机运行、真机联调常见问题,官方网址http://ask.dcloud.net.cn/article/97

关于如何安装配置手机模拟器,官方网址http://ask.dcloud.net.cn/article/151,但是官网只给出了如何安装配置谷歌官方模拟器的方法,我们都知道这个模拟器给人的感觉比真机更卡更慢,因此我们一般选择第三方模拟器,开发者常用的是国外传进来的Genymotion模拟器,这个模拟器本身配置起来相当复杂,可自行百度,关于这个模拟器在Hbuilder上如何配置也有网友写了注意事项,手把手教你_如何实现HBuilder连接到genymotion的模拟器上。

在这里我要推荐几国内做的不错的安卓模拟器:海马玩模拟器和夜神模拟器

这两款模拟器的主要业务是让人们能在PC上玩安卓游戏,能实现全屏、鼠标、手柄操作等,运行速度非常快,我认为用来开发再合适不过了。

下载安装这两款模拟器作为开发者分分钟就能搞定。但是要想IDE连上模拟器就有很多注意事项了。

我们知道Hbuilder是通过adb(安装目录tools里面,或者从任务管理器进入)连接到模拟器或者真机的,但是系统中很多软件也会开启adb进程对Hbuilder产生影响。关于如何检查adb冲突,官网也给出了。

adb是什么?

Android 调试系统是一个面对客户服务系统,包括三个组成部分:

   •   一个在你用于开发程序的电脑上运行的客户端。你可以通过shell端使用adb 命令启动客户端。其他Android 工具比如说ADT 插件和DDMS 同样可以产生adb 客户端.

   •   在你用于发的机器上作为后台进程运行的服务器。该服务器负责管理客户端与运行

      于模拟器或设备上的adb守护程序(daemon)之间的通信。.

   •   一个以后台进程的形式运行于模拟器或设备上的守护程序(daemon)。.

当你启动一个adb客户端,客户端首先确认是否已有一个adb服务进程在运行。

如果没有,则启动服务进程。当服务器运行, adb服务器就会绑定本地的TCP

端口5037并监听adb客户端发来的命令,—所有的adb客户端都是用端口 5037

与adb服务器对话的.

接着服务器将所有运行中的模拟器或设备实例建立连接。它通过扫描所有5555

到5585范围内的奇数端口来定位所有的模拟器或设备。一旦服务器找到 了adb

守护程序,它将建立一个到该端口的连接。请注意任何模拟器或设备实例会取得

两个连续的端口——一个偶数端口用来相应控制台的连接,和一个奇数端口 用

来响应adb连接。比如说:

模拟器1,控制台:端口5554

模拟器1,Adb端口5555

控制台:端口 5556

adb 端口5557...

如上所示,模拟器实例通过5555端口连接adb,就如同使用5554端口连接控制台一样.

一旦服务器与所有模拟器实例建立连接,就可以使用adb命令控制和访问该实

例。因为服务器管理模拟器/设备实例的连接,和控制处理从来自多个adb客户

端来的命令,你可以通过任何客户端(或脚本)来控制任何模拟器或设备实例.

 

来源: <http://bbs.hiapk.com/thread-4760331-1-1.html>

 
 

检查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: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文件重命名一下

 

来源: <http://ask.dcloud.net.cn/article/97#checkAdb>

 

 

由于adb冲突问题,如果先启动Hbuilder,IDE自带的adb会启动监听5037端口,再启动安卓模拟器的话,模拟器自带的adb(你在模拟器的安装目录下总能找到adb.exe)

也会启动,这样就把Hbuilder的adb服务给挤下去了。因此这是Hbuilder就识别不了模拟器了。好在Hbuilder的新版本已经解决部分这种问题了,这个问题在连接海马玩模拟器时也不会出现了,无论先启动哪一个都能识别。

 

但是夜神模拟器却不能被Hbuilder识别,原因是夜神模拟器的开发者将adb.exe改成了nx_adb.exe,这样Hbuilder就检查不到冲突了,解决方法是将这个重命名或者剪切到其他地方,或者干脆删除,不会对模拟器产生任何影响。但是我发现即使这样做了。Hbuilder还是连接不上夜神模拟器,原因是夜神模拟器的运行端口不在Hbuilder的adb的扫描范围内。那么如何找到端口呢。

在夜神模拟器正在启动或刚启动时(真的是刚启动,时间长了就不行了,也不知道是为什么),在CMD中运行:nox_adb devices,注意这事nox_adb还没有重命名或移走,是在nox_adb所在目录运行命令,这样会列出nox_adb连接的终端地址是127.0.0.1:62001;执行完这个操作后就将nx_adb重命名或者移走,接下来就要让Hbuilder的adb连接到模拟器,定位到Hbuilder的adb目录,运行下面的第一条命令就连接上了模拟器,第二条命令是检查连接设备及状态。后面显示device即表示正常连接,如果不进行前面的一系列操作,直接连上127.0.0.1:62001的话,设备状态会显示offline,Hbuilder内识别模拟器但是不能正常连接调试。

Hbuilder连接模拟器调试的更多相关文章

  1. hbuilder 夜神模拟器调试方法

    1.首先下载好夜神模拟器2.查找已经安装的夜神模拟的端口,这里说一下夜神模拟器默认端口是62001,但是有些版本可能不是这个端口,怎么查找到底是哪个端口呢?按照如下顺序进行就可以查找到你按装的夜神模拟 ...

  2. hbuilder连接模拟器进行联调(逍遥模拟器,MuMu模拟器,夜神模拟器)

    MuMu模拟器:7555 逍遥模拟器:21503 夜神模拟器:62001 1. 2. 3. 如果上诉方法不好使,可以重启模拟器以及hbuilder,有时可能连接中断,可以重新连接.

  3. 使用 Hbuilder 连接手机调试移动端项目

    点击界面上的浏览器右侧的倒三角.   弹出列表以后,点击最后一行 “设置web服务器...”.继续弹出,点击右下角的“外置Web服务器设置”.   点新建.   弹出框后,填入“名称”和“浏览器运行U ...

  4. 夜神模拟器与HBuilder连接/cmd运行提示符/执行夜神模拟器命令/执行HBuilder命令

    第一步:启动HBuilder和夜神模拟器 第二步:通过运行电脑命令CMD进入(电脑运行命令的快捷键是:windows键+R2.Ctrl键与Alt键之间的那个键就是windows键或者点击左下角开始图标 ...

  5. androidkiller连接模拟器并修改源码调试

    首先需要连接模拟器,首先在模拟器的bin目录下运行命令:nox_adb.exe connect 127.0.0.1:62001(可以disconnect关闭): 之后在androidkiller的bi ...

  6. win 10 Hbuilder1.2.1连接Genymotion 调试Android 软件

    这里记录一下 Hbuilder1.2.1连接Genymotion 调试Android 软件 的过程: 步骤一:把Genymotion 的 adb.exe 路径配置到 Hbuilder 中 在 菜单栏 ...

  7. 使用MuMu模拟器调试AndroidStudio项目

    1.安装一款安卓模拟器 ​ 本例使用网易MuMu模拟器,因为目前网络上这类模拟器只有mumu的安卓版本是最新的,为6.0,安卓自带的Virtual Device虽然有很新的版本,但如果pc配置不是很高 ...

  8. Windows 下 Hbuilder 真机调试(Android,iphone)

    概述:主要讲讲自己在使用 HBuilder 真机调试功能时遇到的问题,以及如何解决.Android 相对没有遇到什么大问题,在电脑安装如360手机助手就可以正常使用了,主要问题是在 iphone 上( ...

  9. Flutter Android 真机器调试 、模拟器调试、Vscode 中开发 Flutter 应用

    必备条件: 1.准备一台 Android 手机 2.手机需要开启调试模式 3.用数据线把手机连上电脑 4.手机要允许电脑进行 Usb 调试 5.手机对应的 sdk 版本必须安装 注意: 1.关闭电脑上 ...

随机推荐

  1. 【GoLang】GoLang 官方 对 error 处理的意见

    The Go Blog Errors are values 12 January 2015 A common point of discussion among Go programmers, esp ...

  2. 【leetcode】Edit Distance

    Edit Distance Given two words word1 and word2, find the minimum number of steps required to convert  ...

  3. C++中using的作用

    [转自] http://www.cnblogs.com/yuaqua/archive/2011/10/22/2219991.html 1.在当前文件中引入命名空间 这是我们最熟悉的用法,例如:usin ...

  4. OGNL表达式

    一.什么是OGNL,有什么特点?     OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言 ...

  5. winrt控件

    http://www.mindscapehq.com/products/metroelements 常见的翻书,相册,图表,时间组件 demo下载地址http://assets.mindscape.c ...

  6. python(pyqt)开发环境搭建

    eric+pyqt 安装(python开发工具) 更多 0 Python python Eric是一个开源的.跨平台的python&ruby集成开发环境,基于python和pyqt运行.eri ...

  7. 插头DP专题

    建议入门的人先看cd琦的<基于连通性状态压缩的动态规划问题>.事半功倍. 插头DP其实是比较久以前听说的一个东西,当初是水了几道水题,最近打算温习一下,顺便看下能否入门之类. 插头DP建议 ...

  8. VC++ 之常见内存异常值

    0 VC++ 常见的内存异常值 * 0xcccccccc : Used by Microsoft's C++ Debugging runtime library to mark uninitialis ...

  9. C Primer Plus_第三章_数据和C_复习题与编程练习

    Review long代替int类型变量的原因是什么? 在您的系统中,long可以容纳比int更大的数:如果您确实需要处理更大的值,那么使用一种在所有系统上都保证至少是32位的类型会使程序的可移植性更 ...

  10. SpringMVC java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name

    当跳转到一个含有form表单的页面的时候 如<form:form commandName="useCarInfo" 必须要new一个useCarInfo的同名实例给jsp来接 ...