提交 65237844 编写于 作者: W wan201809

同步 hx的运行、调试、build文档

上级 d8af30cd
# Android 自定义渠道包
## 云打包如何打渠道包
选中项目 -->菜单发行-原生App-云打包,进入打包窗口。
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/android_channel_1.png)
如上图所示,
HBuilderX默认提供 `7` 个渠道(`Google``360``小米``华为``应用宝``vivo``oppo`),更多可以在`manifest.json`文件中【源码视图】进行配置。
| 默认渠道 | 渠道标识ID |
| ------------ | -------- |
| GooglePlay | google |
| 应用宝 | yyb |
| 360应用市场 | 360 |
| 华为应用商店 | huawei |
| 小米应用商店 | xiaomi |
| vivo应用商店 | vivo|
| oppo应用商店 | oppo |
**注意:提交谷歌应用市场(Google Play)时一定要将渠道标识设置为google,即一定要选择打包界面里的google渠道,否则会无法提交到play store**
## 如何自定义渠道?
默认的渠道数量不够使,想要更多渠道?
在manifest.json【源码视图】中, `根节点`增加`channel_list`字段.
注意是根节点
```
{
"channel_list":[
{
"id":"",
"name":""
}
]
}
```
比如:
```
{
"channel_list":[
{
"id":"chuizi",
"name":"锤子应用市场"
},
{
"id":"meizu",
"name":"魅族应用市场"
}
]
}
```
**配置后会在上面的云端打包界面显示自定义j渠道,提交云端打包时需要勾选才能生效**
## 离线打包的配置方法
下载最新的sdk,在Android项目的Androidmanifest.xml中的application节点下添加如下内容
```
<meta-data android:name="DCLOUD_STREAMAPP_CHANNEL" android:value="{applicationId}|{appid}|{adid}|{channel}"/>
```
android:value值由四个字段组成,使用‘|’符号分割,各字段说明:
- applicationId 包名,对应Android项目中build.gradle中的applicationId
- appid 应用标识,对应5+或uni-app项目manifest.json中appid
- adid DCloud的广告标识,开通广告后可在dev.dcloud.net.cn获取,如果没有开通广告,设置值为即可
- channel 渠道标识,**注意:提交谷歌应用市场(Google Play)时一定要将渠道标识设置为google**
例如:
```
<meta-data
android:name="DCLOUD_STREAMAPP_CHANNEL"
android:value="io.dcloud.HBuilder|HBuilder|0123456789|google" />
```
[Android平台本地离线打包渠道相关配置](https://ask.dcloud.net.cn/article/508#channel)
[iOS平台本地离线打包渠道相关配置](https://ask.dcloud.net.cn/article/41#channel)
## 手机端获取渠道信息的js api
[推广渠道标识](http://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.channel)
```
plus.runtime.channel
```
注意:HBuilder 2.0版本此API有bug,请升级到更新版
这个API主要用于自定义统计,如果是使用DCloud的统计,无需专门写API。具体见下。
## uni-app如何在uni统计后台查看渠道数据
登录uni统计官网[https://tongji.dcloud.net.cn](https://tongji.dcloud.net.cn)
在左侧导航点击“渠道/场景值分析 - 渠道(app)”,即可查看。
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/android_channel_2.png)
在留存统计等报表中,也可以筛选渠道查看。
## 5+App如何在DCloud统计后台查看渠道数据
如果你的App不是uni-app,而是5+或wap2app。那么无法使用uni统计。此时可登录[DCloud开发者中心](http://dev.dcloud.net.cn)查看应用的基本统计数据。
首页会展示所有已创建的应用列表,点击应用名称可以查看该应用的『日活趋势』。
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/android_channel_3.png)
包含渠道信息的应用,左上角选择渠道,即可查看对应渠道的运营统计数据。
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/android_channel_4.png)
**Tips:**
- 5+App的基本统计,当日的数据,次日才会出统计结果。
- 有用户使用且统计到有效数据,才可以按相应的渠道区分。
- 目前需要一个渠道一个渠道打包,云打包暂时无法批量打多个渠道包出来。
- 本文的渠道标记处理的是DCloud统计后台,如使用友盟统计,需要在友盟的sdk配置里单独配
\ No newline at end of file
# 安心打包使用指南
<!--
keyword: 安心打包
-->
过去,App云端打包时需要将应用代码、打包证书等提交到DCloud云端打包机,在云端打包机的原生开发环境中生成安装包apk/ipa。
DCloud云端服务器虽然不会保存开发者应用代码和证书等信息,但开发者可能还是不放心,或者担心在网络传输过程中可能存在拦截泄漏的风险。
而离线打包,不但不方便,还有2个重要功能无法使用:
1. 原生混淆,保护js代码(因为秘钥的安全问题,离线打包无法使用)
2. 插件市场的付费原生插件(因为插件版权问题,离线打包无法使用)
> HBuilderX2.9.9版本新增Android平台**安心打包**功能,不再提交应用代码及打包证书到云端服务器,同时也减轻云端打包机压力,缩短高峰期云端打包等待时间。
> HBuilderX3.0.7版本新增iOS平台支持**安心打包**功能(仅支持MacOS)
## 安心打包原理
- 首次打包
1. HBuilderX会提交App的模块配置信息到云端,在云端打包机生成原生代码包(不包含应用代码、证书信息)
2. HBuilderX下载原生代码包,在本地电脑上将应用代码添加到原生代码包中,生成未签名安装包
3. 缓存原生代码包,用于下次打包复用
4. 在本地电脑上使用打包证书对未签名安装包进行签名操作,生成安装包
- 非首次打包
1. HBuilderX判断缓存的原生代码包是否可以复用,如果没有修改App模块配置或影响原生代码包配置操作继续下一步,否则转`首次打包`流程,以下情况也会触发`首次打包`流程:
+ 使用了uni原生插件,本地无法判断原生插件是否更新了,因此项目中只要包含uni原生插件都会走`首次打包`流程
+ HBuilderX更新,本地缓存原生代码包需要更新,需要走`首次打包`流程生成新版本原生代码包
2. 将修改后的应用代码添加到原生代码包中,生成未签名安装包
3. 在本地电脑上使用打包证书对未签名安装包进行签名操作,生成安装包
因为大多数打包,并不改动原生部分(主要是manifest.json),只修改前端代码。此时将无需从云端打包机下载原生包,打包速度会非常快。
## 安心打包优势
- 更安全:打包时不提交应用代码、证书等信息
- 更快速:非首次打包时不用提交云端打包机排队等待,本地直接出包
- 省流量:减少了打包时提交打包资源,非首次打包时不用下载原生代码包
- 更便宜:除非使用了体积很大的本地原生插件,否则将难以突破40M的免费打包体积阀值。开发者和DCloud的成本双下降
## 使用安心打包
新版本HBuilderX云端打包时无需额外操作,默认会勾选“安心打包”,如下图所示:
![](https://hx.dcloud.net.cn/static/snapshots/app/pack/pack_app_safe.png)
如果没有安装安心打包插件,会弹出以下提示框,点击“安装”继续
![](https://hx.dcloud.net.cn/static/snapshots/app/pack/pack_app_safe_box.png)
插件安装完成后需重新点击“打包”按钮提交打包
**打包完成后自动保存到项目的"unpackage/release/apk/"目录**
如果清空了这个目录,那么下次打包将执行首次打包逻辑。
## 注意事项
- Windows环境:仅Android平台支持安心打包,iOS暂不支持;MacOSX环境:Android和ios都支持安心打包。
- 自定义调试基座不支持安心打包
- 使用DCloud老版证书不支持安心打包
- 使用原生混淆时,配置的待加密js文件需要提交到云端打包机(打包完成后自动清除这些js)
- 安心打包并非纯离线打包,虽然证书和前端代码不再提交云端打包机,但项目的manifest中的模块配置、本地原生插件、原生混淆配置的前端文件,仍需提交才能出包
- iOS平台安心打包无法兼容swift,如果uni原生插件使用swift开发,提交appstore提示“ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.”错误时,请改用传统打包
## FAQ
- 安心打包是否有免费打包次数限制?
打包次数限制是为了避免部分开发者过多占用云端打包资源而增加的限流措施,在使用`安心打包`时,由`非首次打包`机制生成的安装包由于不占用云端打包资源,所以不会占用**云端免费打包次数**,也可以理解为`安心打包``非首次打包`无打包次数限制。
## `Android 安心打包问题汇总`
### Q1: Windows:控制台提示打包成功,相应目录下没有apk文件
** 问题:** 某些用户反馈,windows电脑,控制台提示Android安心打包成功,进入相应目录(unpackage/release/apk),目录下找不到apk文件
** 原因** :unpackage/release/apk目录,没有写入权限,移动apk文件失败了。
** 解决方法:**
1. 赋予unpackage/release/apk目录写入权限
2. 重启电脑试试
### Q2: fakeLogOpen(/dev/log_crash) failed
某些情况下,首次提交安心打包,您可能会遇到下列错误:
```
[Error] W: fakeLogOpen(/dev/log_crash) failed
[Error] W: fakeLogOpen(/dev/log_stats) failed
[Error] W: fakeLogOpen(/dev/log_stats) failed
[Info] I: Copying libs... (/lib)
[Info] I: Building apk file...
[Info] I: Copying unknown files/dir...
[Info] I: Built apk...
[Error] Apk tool compile package to apk failed
[Info] 制作结果:Failed. Reason:
```
** 解决方法:** 重新提交安心打包
### Q3: 启动图.9.png格式问题
错误日志中,出现如下日志:
```
[Error] W: ERROR: 9-patch image C:\xxxxx\res\drawable-hdpi\splash.9.png malformed.
[Error] W: No marked region found along edge.
[Error] W: Found along top edge.
```
** 原因:** ` 启动图xxx.9.png`不是`有效9.png`图片,格式错误导致。
** 解决方法:** 重新生成有效的`9.png图片`
** 备注:** 部分用户可能会提问,同样.9.png项目,为什么传统打包成功,安心打包失败呢?因为:安心打包校验机制更为严格。
** 文档:** [.9.png图片相关文档](https://ask.dcloud.net.cn/article/35527)
### Q4: Error occurred during initialization of VM
错误日志中,出现如下日志:
```
[Info] Error occurred during initialization of VM
[Info] Could not reserve enough space for 1048576KB object heap
[Error] 制作结果:Failed. Reason:
```
** 解决方法:**
1. 找到安心打包插件(app-safe-pack)目录下app-safe-pack.ini文件
2. 将文件内容里-Xmx1024M修改为-Xmx512M
3. 重新提交打包
** 备注:** HBuilderX 3.1.10及以上版本生效
## `ios 安心打包问题汇总`
### Q1: 打包失败,签名失败errSecInternalComponent错误
错误日志中,出现如下日志:
```
[Error] HBuilder.xcarchive/Payload/HBuilder.app: replacing existing signature
[Error] Warning: unable to build chain to self-signed root for signer "xxxxxxxxxx“”
[Error] HBuilder.xcarchive/Payload/HBuilder.app: errSecInternalComponent
```
** 原因:** 可能是用户手动点击安装了证书导致打包签名失败。
** 解决方法:** 打开钥匙串访问删除相关用户手动安装的证书后重新打包(下图仅供参考,需开发者判断哪些证书是手动安装的证书)。
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/iossafepackcertinstall.jpeg)
## 安心打包问题反馈
如果您遇到安心打包问题,且无法解决,请加QQ群827137391。
进群需要提供`操作系统``HBuilderX版本号`信息,提问请提交`错误日志``截图`
本群仅限反馈安心打包问题,请勿发布无关信息。
# ios 安心打包证书安装
<!--
keyword: 安心打包
-->
> 本文档仅适用于MacOSX 10.14以下系统,不适用于MacOS 10.14以上系统。同时不适用windows
## 前言
MacOSX 10.14以下系统, 使用ios安心打包, 需要安装相关证书.
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/ios-safe-pack-1.png)
## 打开证书目录
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/ios-safe-pack-2.png)
## 安装证书
1. 点击证书文件, 会自动打开`钥匙串`, 下拉列表`钥匙串`, 选择`系统`, 点击 添加 按钮
2. 点击添加后, 请在弹窗中,输入电脑密码, 允许钥匙串访问.
3. 按照上面的步骤, 依次完成其它证书的导入.
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/ios-safe-pack-3.png)
# uni-app发行到微信小程序@uploadPrivateKey
> HBuilderX 3.3.7+, uni-app 发行到微信小程序,支持自动上传代码到微信平台,无需再通过微信开发者工具上传发行
![](https://hx.dcloud.net.cn/static/snapshots/cli/wechat-upload.png)
通过微信小程序CI,使用上传密钥上传代码,无需打开微信开发者工具,一键完成微信小程序代码的上传、预览等操作。
**注意:**
- 自动上传到微信平台,依赖CI插件,如弹窗提示要求安装CI插件,请点击确认安装。
- 自动上传到微信平台,需要配置上传密钥
- 自动上传到微信平台,请正确填写`微信小程序appid``privatekey`
- 自动上传到微信平台,如果开启了`IP白名单`,请确保微信平台已配置 IP 白名单
\ No newline at end of file
# uni-app web版调试@h5-debug
> HBuilderX 3.5.0版本,uni-app 运行到 web 平台,可通过 chrome debug 协议进行调试。
## 简介@introduction
- 支持运行到`chrome``内置浏览器`进行调试,目前其他浏览器无法调试。
- 调试需要本机安装chrome浏览器
- 调试支持的文件类型:`vue`文件、`nvue`文件、`ts`文件、`js`文件,断点只能打在js或ts代码中,请勿在vue文件template、style节点添加断点。
**注意事项:**
1. uni-app,某些生命周期方法内,添加断点,debug调试后,断点无法进入。
2. uni-app Vue3项目,debug调试后,可能会在 HBuilderX 内打开一个虚拟目录的文件,如`/localhost:3000/src/pages/index/index.vue`。Debug调试视图,点击继续即可。
![](https://hx.dcloud.net.cn/static/snapshots/app/h5-debug/overview.png)
## 开启调试@start-debug
项目管理器,选中任意 uni-app项目,运行到Chrome。控制台右上角,点击debug图标(红色虫子),即可打开调试。如下图:
![](https://hx.dcloud.net.cn/static/snapshots/app/h5-debug/open-debug.png)
uni-app web调试,依赖debug插件,弹窗提示安装依赖插件,请务必点击安装,否则无法进行调试。
## 添加/删除断点@add-breakpoint
打开要调试的文件,在js或ts代码行号上,鼠标右击或双击添加断点。
![](https://hx.dcloud.net.cn/static/snapshots/app/h5-debug/add_breakpoint.png)
## 调试视图@DebugView
开启调试后,即可在HBuilderX左侧视图,看到调试视图,具体如下:
**调试视图分为5部分:**
- [调试工具栏](#DebugActions)
- 变量窗口 (`复制值``复制表达式``添加到监视`)
- 监视窗口(包含`添加`/`编辑`/`删除`表达式,以及`复制值`
- 调用堆栈窗口
- 断点窗口(包含`删除`/`启用`/`禁用`断点)
![](https://hx.dcloud.net.cn/static/snapshots/app/h5-debug/debug_view.png)
## 调试操作@DebugActions
![](https://hx.dcloud.net.cn/static/snapshots/app/h5-debug/debug_toolbar.png)
- [继续](#Continue) `F8`
- 下一步 `F10`
- 进入 `F11`
- 返回 `Shift+F11`
### 继续@Continue
继续(F8):点击后,运行直到下一个断点。
![](https://hx.dcloud.net.cn/static/snapshots/app/h5-debug/continue.png)
## 数据检查和查看变量@data
### 添加到监视@add-to-watch
在【变量窗口】,选中变量,右键菜单,即可将变量添加到监视窗口。
![](https://hx.dcloud.net.cn/static/snapshots/app/h5-debug/add_to_monitor.png)
### 悬停显示@hover
断点调试过程中,将鼠标悬停在要查看的变量上,即可打开悬停窗口。
![](https://hx.dcloud.net.cn/static/snapshots/app/h5-debug/hovering_window.png)
# Chrome调试H5+的Android应用
> 注意本文档仅适用于 5+App应用。uni-app调试另见[https://uniapp.dcloud.io/tutorial/run-and-debug.html](https://uniapp.dcloud.io/tutorial/run-and-debug.html)
HBuilder对前端代码的调试方式有边改边看、真机运行、webkit remote debug真机调试3种。webkit remote debug其实是google、apple官方提供的服务,本文主要介绍google的chrome下如何调试Android手机上webview里运行的网页。
*系列文章目录导航:*
- [调试方式介绍一 边改边看](http://ask.dcloud.net.cn/article/483)
- [调试方式介绍二 真机运行](http://ask.dcloud.net.cn/article/484)
- [调试方式介绍三 webkit remote debug之Chrome调试Android手机]
- [调试方式介绍四 webkit remote debug之Safari调试iOS手机](http://ask.dcloud.net.cn/article/143)
## Chrome调试Android手机之概述
调试是软件开发过程中很重要的环节,它能帮助开发者快速的定位和解决开发过程中碰到的问题。对于HTML5的开发,大家都知道Chrome的DevTools工具有强大的功能和友好的用户体验,不仅能快速方便调试JavaScript、检查HTML页面DOM结构、实时同步更新元素CSS样式,还能跟踪分析页面资源加载性能等问题。对于移动平台的开发者来说,从Android4.4开始,也可以通过Chrome的DevTools工具连接设备对于应用进行调试。
调试效果如图所示:
![Android 调试效果图](http://www.dcloud.io/docs/a/adebug/1.1.png)
**软件要求**
- Android设备或模拟器的系统版本为4.4及以上;
## 真机调试环境
如果你有Android设备,并且系统是4.4以上版本,那么可以直接使用Chrome连接进行调试。
### 检测设备版本
打开系统“设置”-> “关于”,查看Android版本:
![](http://www.dcloud.io/docs/a/adebug/3.1.png)
Android版本必需是4.4及以上,否则无法进行应用调试。请参考“模拟器调试环境”章节使用模拟器进行应用调试。
### 显示开发者选项
Android设备默认“开发者选项”是隐藏的,需要打开“设置”-> “关于”页面,多次(7次)点击“版本号”项,返回到“设置”页面可显示“开发者选项”:
![](http://www.dcloud.io/docs/a/adebug/3.2.png)
点击“开发者选项”,打开“开发者选项”设置页面。
### 开启USB调试
![](http://www.dcloud.io/docs/a/adebug/3.3.png)
### 连接PC
Android设备通过USB数据线连接到PC,如果系统无法正确识别,则需要安装驱动,通常可到设备制造商的官方网站下载安装。也可使用第三方手机助手软件安装,如“360手机助手”、“应用宝”等。
PC识别到设备后,这时可通过HBuilder的真机运行功能进行连接并安装HBuilder应用。
## 使用HBuilder调试
在HBuilder最新版里,点运行菜单,或者HBuilderX的视图菜单,点里面的“打开Webview调试模式”。
确保手机连接正常、确保启动了可调试的app,那么右侧或底部会列出可调试的页面。点击调试/inspect即可打开chrome控制台进行调试。
**注意:chrome83起调整了协议。HBuilderX2.8起适配了新协议。如果你的chrome升级到83以上版本,需更新HBuilderX到2.8+才能正常使用**
================================================
**正常情况下,开发者阅读到此结束。后续文档是Android模拟器的安装教程和不使用HBuilder调试而使用chrome调试的教程**
================================================
================================================
## 附录:Android模拟器调试环境
如果你没有Android手机,又想调试Android应用,那么你需要安装Google官方的Android模拟器。
注意三方模拟器如genymotion、海马玩、Bluestacks蓝叠等模拟器只能真机运行,不能debug调试。
下文仅介绍Google官方模拟器的安装方法。由于Google经常更新,也建议开发者随时关注网上的其他更新教程。
如果没有Android4.4及以上版本设备,可以配置Android模拟器来调试。Android模拟器一直都以运行速度慢著称,其实官方已经提供解决方案使用Intel HAXM技术来加速,使得模拟器运行速度有大幅的提升。
**硬件要求**
- CPU支持Intel VT技术(AMD CPU无法使用HAXM加速);
- 内存推荐4G;
- Window XP/Vista/7/8(32/64-bit),推荐Windows 7/8(64-bit)。
**网络要求**
使用Google的服务,不得不付出的代价就是要准备好翻墙工具。
模拟器安装更新和调试初始化时都必须翻墙。
**无条件翻墙的同学可以尝试修改本机host的方法来访问Google相关服务,host内容参考[google-hosts](https://github.com/txthinking/google-hosts/blob/master/hosts),注意及时更新:)**
### ADT工具
配置模拟器调试环境需要安装ADT工具,如果已经配置过android开发环境,则可跳过此章节。
**下载ADT工具**
Android模拟器开发环境需通过ADT工具进行安装,这里不需要下载完整的ADT Bundle,使用独立ADT工具即可:
- 进入官网下载Android SDK Tools
![](http://www.dcloud.io/docs/a/adebug/2.1.1.1.png)
选择windows平台下的独立ADT插件安装包。
- 同意使用条款和条件
![](http://www.dcloud.io/docs/a/adebug/2.1.1.2.png)
点击下载按钮。
- 保存安装包
目前版本为22.6.2,保存到本地为:installer_r22.6.2-windows.exe。
**安装ADT工具**
- 双击运行保存的ADT安装文件(install_r22.6.2-windows.exe),开始安装
![](http://www.dcloud.io/docs/a/adebug/2.1.2.1.png)
选择下一步“Next”。
- 配置JDK环境
如果已经安装了JDK环境,则提示确认:
![](http://www.dcloud.io/docs/a/adebug/2.1.2.2.png)
直接选择下一步“Next”。
如果没有安装过JDK,则会提示没有找到:
![](http://www.dcloud.io/docs/a/adebug/2.1.2.3.png)
需安装JDK,并设置JAVA_HOME环境变量,完成后重新运行ADT安装文件。
- 选择用户
![](http://www.dcloud.io/docs/a/adebug/2.1.2.4.png)
选择默认值,仅当前用户使用即可,选择下一步“Next”。
- 选择安装目录
![](http://www.dcloud.io/docs/a/adebug/2.1.2.5.png)
选择非系统盘目录(如“D:\AndroidSDK”),确保有足够的磁盘空间安装SDK及模拟器文件(至少需要1G的空间)。选择下一步“Next”。
- 选择开始菜单目录
![](http://www.dcloud.io/docs/a/adebug/2.1.2.6.png)
保持默认值,选择下一步“Next”。
- 解压安装
![](http://www.dcloud.io/docs/a/adebug/2.1.2.7.png)
完成后,选择下一步“Next”:
![](http://www.dcloud.io/docs/a/adebug/2.1.2.8.png)
- 完成安装
![](http://www.dcloud.io/docs/a/adebug/2.1.2.9.png)
选择立即启动SDK管理器(Android SDK Manager),选择下一步“Next”,完成ADT工具的安装。
如未立即启动,可在Android SDK根目录(如“D:\AndroidSDK”),双击运行“SDK Manager.exe”程序。
### 下载SDK和模拟器
安装ADT工具后,启动SDK管理程序对各版本编译工具、SDK、模拟器、插件进行管理,如升级、安装、卸载等。如果已经下载了SDK和模拟器,可跳过此章节。
- 更新SDK列表
启动SDK管理程序后会自动获取最新的工具、SDK、模拟器及扩展插件列表。
![](http://www.dcloud.io/docs/a/adebug/2.2.1.png)
- 列表更新完成
更新完成后,显示日志:
![](http://www.dcloud.io/docs/a/adebug/2.2.2.png)
- 选择下载项
使用Intel HAXM加速模拟器,必须选择以下项下载:
| 目录 | 项 | 用途 |
| :-------- | :--: | :--: |
| Tools | Android SDK Platform-tools | Android平台工具,基础组件 |
| Android 4.4.2(API19) | SDK Platform | Android4.4.2 SDK,模拟器基础组件 |
| Android 4.4.2(API19) | Intel x86 Atom System Image | Inter x86平台的Android4.4.2模拟器镜像文件 |
| Extras | Intel x86 Emulator Accelerator (HAXM installer) | Inter x86平台Android模拟器硬件加速程序 |
选择好下载项后,如下图所示:
![](http://www.dcloud.io/docs/a/adebug/2.2.3.png)
选择“Intall 4 Packages...”,开始下载安装。
- 接受许可协议
![](http://www.dcloud.io/docs/a/adebug/2.2.4.png)
分别选择右侧packages列表中的项后,选中“Accept License”接受许可协议。然后点击“Install”,开始下载。
- 开始下载
![](http://www.dcloud.io/docs/a/adebug/2.2.5.png)
由于SDK和模拟器镜像文件比较大,下载时间会比较长,而且国内访问google官方网站不太稳定,经常提示下载失败:
![](http://www.dcloud.io/docs/a/adebug/2.2.6.png)
关闭提示对话框,重新下载,或者**翻墙后再尝试下载**
### 安装Intel X86HAXM
下载Intel X86 HAXM插件后,需要到下载目录运行安装程序进行安装,目录为: “%ADT安装目录%\extras\intel\Hardware_Accelerated_Execution_Manager\”。双击运行intelhaxm.exe进行安装,目前新版本为1.0.8,如果已经安装过低版本,建议升级。
- 开始安装
![](http://www.dcloud.io/docs/a/adebug/2.3.1.png)
选择下一步“Next”。
- 配置HAXM使用最大内存
![](http://www.dcloud.io/docs/a/adebug/2.3.2.png)
安装程序会自动计算推荐值,使用默认值,选择下一步“Next”。
- 确认配置
![](http://www.dcloud.io/docs/a/adebug/2.3.3.png)
选择下一步“Next”。
- 完成安装
![](http://www.dcloud.io/docs/a/adebug/2.3.4.png)
### 创建模拟器
ADT工具带Android模拟器管理程序(Android Virtual Device Manager),可在Android SDK根目录(如“D:\AndroidSDK”),双击运行“AVD Manager.exe”程序。
![](http://www.dcloud.io/docs/a/adebug/2.4.1.png)
由于没有创建过模拟器,在列表中显示无可用模拟器,点击“New...”开始新建模拟器。
- 新建模拟器
![](http://www.dcloud.io/docs/a/adebug/2.4.2.png)
| 项 | 说明 |
| :-------- | :-------- |
| AVD Name | 模拟器名称,根据爱好输入 |
| Device | 模拟设备,根据爱好选择,建议根据显示器分辨率来选择,大显示器选择则高分比率模拟器 |
| Target | 选择“Android 4.4.2 - API Level 19” |
| CPU/ABI | 选择“Intel Atom (x86)” |
| Skin | 模拟器皮肤,根据爱好选择,推荐选择WVGA800 |
| Front Camera | 前置摄像头,用不到就选“None”,模拟摄像头就选“Emulated”,使用PC的摄像头就选“WebCam0” |
| Back Camera | 后置摄像头,与前置摄像头选择类似 |
| Memory Options | 内存大小,根据PC内存大小设置,推荐RAM:512;Heap:64 |
| Internal Storage | 内部存储器大小,根据PC系统盘空间大小设置,推荐200M |
| SD Card | SD卡存储器大小,根据PC系统盘空间大小设置,推荐200M |
**注意务必设置好SD Card,否则无法真机运行。**
设置完成后,点击“OK”。
- 确认配置
![](http://www.dcloud.io/docs/a/adebug/2.4.3.png)
- 创建完成后在模拟器列表中显示
![](http://www.dcloud.io/docs/a/adebug/2.4.4.png)
### 启动模拟器
创建完模拟器,每次启动Android模拟器管理程序都能在列表中显示:
![](http://www.dcloud.io/docs/a/adebug/2.5.1.png)
- 启动模拟器
![](http://www.dcloud.io/docs/a/adebug/2.5.2.png)
选择“Android4.4.2”模拟器,点击“Start...”启动。
- 设置启动配置信息
![](http://www.dcloud.io/docs/a/adebug/2.5.3.png)
| 项 | 说明 |
| :-------- | :-------- |
| Scale Display to real size | 是否缩放到设置的模拟器分辨率,在PC分辨率低时使用 |
| Wipe user data | 是否擦除用户数据,重置模拟器时使用 |
点击“Launch”启动。
- 等待加载模拟器
![](http://www.dcloud.io/docs/a/adebug/2.5.4.png)
PC的配置决定速度,耐心等待模拟器的启动。
- 完成启动模拟器
![](http://www.dcloud.io/docs/a/adebug/2.5.5.png)
模拟器配置完毕,这时可通过HBuilder的真机运行功能进行连接,参考后面“应用调试”章节。
## 附录:使用chrome调试webview {#chromedebug}
配置完模拟器或真机调试环境后,可通过Chrome的DevTools工具快速调试HBuilder开发的移动应用。
### 安装HBuilder应用
启动HBuilder后会自动检测连接到PC上的设备(模拟器或真机),创建“移动App”后,可通过以下方式在设备上安装HBuilder应用进行调试:
运行的快捷键是Ctrl+R。也可以通过鼠标操作(注意下图中run in device的按钮在新版中已经不存在了,只需点击手机即可)
- 通过“运行”菜单启动
![](http://www.dcloud.io/docs/a/adebug/4.1.1.png)
- 通过工具栏启动
![](http://www.dcloud.io/docs/a/adebug/4.1.2.png)
设备上安装完HBuilder应用后,会同步应用资源并自动运行。
- 模拟器
![](http://www.dcloud.io/docs/a/adebug/4.1.3.png)
- 真机
![](http://www.dcloud.io/docs/a/adebug/4.1.4.png)
应用启动后则可通过Chrome的DevTools工具连接进行调试。
### 使用Chrome调试
我们推荐开发者直接使用HBuilder的调试,详见上文。这样可以免翻墙。
如果你不使用HBuilder的调试,而要自己使用chrome调试,可以看这里的教程,注意要翻墙。
**检测Chrome版本号**
Chrome 30及以上版本才支持Android设备调试,打开Chrome的关于页面查看:
![](http://www.dcloud.io/docs/a/adebug/4.2.1.png)
要求最低Chrome30以上版本,如果版本太低则需更新版本,推荐使用最新版本。
**打开设备检查页面**
在Chrome地址栏,输入“chrome://inspect”或通过“菜单”->“工具”->“检查设备”打开设备检查页面:
![](http://www.dcloud.io/docs/a/adebug/4.2.2.png)
DevTools工具会自动检测已连接设备运行的可调试页面列表,点击对应页面的“inspect”链接打开调试页面。
如果上图界面没有显示可调试的手机,请重新根据上文提到的方法检查手机的usb调试模式或驱动安装情况。同时注意Android4.4以下的手机无法调试,注意海马玩等模拟器无法调试。
如果上图界面有手机,但没有可调试的app,可能的原因如下:
1. 手机端需要调试的HBuilder基座或其他app并没有启动或没有运行任何html页面;
2. 要调试的app拒绝了调试请求。HBuilder调试基座是默认开放调试请求的,但云打包或本地打包的app默认是关闭调试请求的。云打包是在manifest里配置是否允许调试,具体请查询[manifest配置指南](http://ask.dcloud.net.cn/article/94),本地打包也要配置debug="true",具体需要看本地打包配置环境。
**点击"inspect"时,如果遇到启动了一个白屏界面,说明被墙了。因为此服务需要连接google的服务器**
一般情况下,只在第一次使用"inspect"时需要翻墙,以后会缓存在本地。
开发者可以使用三方翻墙服务,但注意并不是可以访问google.com就可以使用chrome调试,有些翻墙软件支持的dns并不全。关键是要ping通chrometophone.appspot.com(此url可能随google调整服务而变化)。
还有一个简单易行的方法是修改本机host。这里提供一些host清单。[https://github.com/racaljk/hosts](https://github.com/racaljk/hosts),注意及时更新。于2016年7月25日亲测可行,注意此host文件涉及的国外域名很多,不需要的dns解析可以删除)
注意host文件修改在window下需要管理员权限,具体方法本文不讲述请自行百度。
**页面调试**
打开调试页面后DevTools会自动加载相关资源,调试页面操作方式与普通html调试页面完全一致。
- 在Elements下查看DOM结构
![](http://www.dcloud.io/docs/a/adebug/4.2.3.png)
选中DOM元素后,在设备上会高亮显示,右侧Styles下修改CSS属性可即时生效:
![](http://www.dcloud.io/docs/a/adebug/4.2.4.png)
- 在Sources下断点调试JavaScript
![](http://www.dcloud.io/docs/a/adebug/4.2.5.png)
按F5可重新加载页面,重新开始调试。
**注意:每个Webview在chrome候选调试列表里是不同的列表,需要单独点inspect。当你inspect WebviewA时,点击了一个按钮,打开了WebviewB,此时若要调试B,需要返回chrome://inspect/#devices页面,找到WebviewB,然后点inspect。**
# 真机运行常见问题@run
<!--
keyword: 真机运行常见故障排查指南,无法连接Android手机,无法连接ios手机,检测不到手机,连接手机,连接真机,iTunes,adb,真机运行
-->
> 首先保证`iTunes`或`Android手机助手`(如360手机助手)可以正常连接手机。
> 如果仍有问题请查阅以下问题是否与自己遇到的情况相同
**特别注意**
- `iOS13真机运行,需要升级至HBuilderX 2.2.5+以上版本。`
- itunes `12.10.9.3`版本,连接`ios 14+`的iphone手机,可能存在问题;请下载12.9.4.102之前的版本
- Android 11部分手机真机运行文件同步失败的问题,HBuilderX 3.1.19已解决此问题,请升级HBuilderX 到3.1.19+版本。
- HBuilderX,【设置 - 运行设置】,自定义过adb路径。如有自定义,请检查adb路径是否有效。如不确定,请清除。然后重启HBuilderX
出现问题手机分析清楚问题在哪个环节。
从在HBuilder/HBuilderX菜单里点真机运行,程序会执行如下几个步骤:
1. 手机硬件通过usb线连接到HBuilder所在电脑,此时可能因为`手机驱动`、usb口、数据线、手机硬件等多种问题造成连接失败。
2. HBuilderX通过adb或itunes服务检测手机。此时可能因为手机渠道、usb连接设置、adb设置或adb冲突、itunes设置造成检测不到。
3. HBuilderX安装调试基座到手机。此时可能因为手机禁止usb安装、Android手机没有sd卡、iOS手机没有信任证书而安装失败。
4. HBuilderX将ide中的代码同步到手机上并启动调试基座。这一步一般不会出问题。
下面把各种常见FAQ列出,大家可按图索骥。
## 1. 没有运行到手机的菜单@noMenu
---
> 真机运行只能运行App项目,选中App项目或将焦点放在将要运行的App项目的文件编辑器上
HBuilderX支持web项目和app项目,项目前面是有图标的,W表示web项目,A表示App项目。其中只有`App项目可以运行`
HBuilderX支持项目类型较多,只有`uni-app``5+app``wap2app`可以真机运行。他们都会在项目根目录下有个`manifest.json`文件(uni-cli项目会在src目录下有manifest.json)。
## 2. 检查手机设置@check
---
特别注意:Windows连接Android手机,一定要确保电脑已安装相应的手机驱动。
1. 确保数据线或usb口正常,可替换不同的线或口来验证。
2. 确认Android手机设置中`USB调试`模式已开启。这个设置一般在【设置】【开发者选项】里。有的手机在插上数据线后在push通知栏里也可以设置。注意不能设置为u盘模式,如果是充电模式则必须同时设置充电时`允许usb调试`
3. 如手机屏幕弹出需信任本计算机的询问,请`同意该授权`。并且最好是把始终同意该设备调试勾上。如不小心拒绝,需要重插手机或重启电脑。
4. Android5.0及以上系统,不要使用访客模式。这种模式下无法成功运行。
5. 部分手机如小米,有usb安装应用的权限设置,需在手机上允许通过usb安装应用。不同rom的界面不一样,请自行百度你的手机打开usb安装应用的方式。
## 3. Mac 连接手机/模拟器说明@macosx
---
分Android和iOS手机分别列出排查方式:
### 3.1 Mac: iOS真机@mac-iphone
1. 确认手机已通过数据线连接电脑
2. 确认iTunes能正常连接手机
3. 如手机屏幕弹出需信任本计算机的询问,请同意该授权
### 3.2 Mac: iOS模拟器@mac-iOS-Simulator
1. Xcode必须安装在应用程序(Application)中
2. 首先确认Xcode(版本必须是6.0及以上版本)已安装并能正常启动模拟器
3. 如果仍然无法检测到,则打开Xcode,然后打开Xcode的 `Preferences --> Locations`,设置该界面中的 `Command Line Tools` 项,选择正确的`Xcode`版本即可
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/ios_simulator.png)
### 3.2 Mac: 连接Android手机@mac-android
1. 关于本机(指Mac系统的关于本机,非手机) --> 系统报告 -> usb -> 你所连接的device --> 厂商ID或者供应商ID(Vendor ID)
2. 在终端执行如下命令:echo xxxxxx >> ~/.android/adb_usb.ini (“xxxxxx”为厂商ID或者供应商ID(Vendor ID),有些系统下echo命令并不能正确写入文件,可在~/.android/目录下修改或新建adb_usb.ini添加xxxxxx)
3. 重启HBuilderX。
4. 如重启HBuilderX仍然不行,请使用命令行(终端.app),切换到HBuilderX自带的adb目录。
5. HBuilderX正式版的adb目录位置:tools/adbs目录(MAC下为HBuilderX.app/Contents/tools/adbs目录)
6. HBuilderX Alpha版的adb目录位置:plugins/launcher/tools/adbs目录(MAC下为`/Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/launcher/tools/adbs`目录)
7. 在adbs目录下运行`./adb kill-server`重试。
8. 重启电脑重试。
## 4. Windows 连接手机/模拟器说明@windows
---
### 4.1 Windows: 连接Android手机@windows-android
#### 4.1.1 驱动:
> 请确认已安装Android手机驱动。
如果手机连接没有任何反应或提示驱动问题,可通过以下方式解决:
1. 安装`驱动精灵`类程序,通过它们来安装驱动
2. 装驱动比较好的方式是使用各种手机助手,比如`360、腾讯的各种手机助手`,如果有问题,尝试升级助手的版本。
#### 4.1.2 注意事项:
- Windows Android: 如果是华为手机,下列各种方法都尝试后还不行,请安装[华为手机助手](https://consumer.huawei.com/cn/support/content/zh-cn00731203/?ivk_sa=1024320u)
- HBuilderX,【设置 - 运行设置】,是否自定义过adb路径。如有自定义,请检查adb路径是否有效。如不确定,清除掉试试。然后重启HBuilderX
- 关闭HBuilderX,打开任务管理器,看下是否存在adb进程,如存在,请杀死所有adb进程
1. 如果在启动HBuilderX后才安装驱动连接上手机,可能需要重启HBuilderX。
2. 使用`管理员权限`运行HBuilderX。
3. 关闭WebView调试模式,重启HBuilderX重试。
4. 如果其他软件可以连接手机,而HBuilderX无法检测到手机,可能是其他软件独占了Google的ADB服务通道。
5. Android的`ADB服务`已经被大量软件滥用,除了各种手机助手自带adb,其他如QQ、搜狗输入法、暴风影音、酷狗音乐、阿里旺旺等众多软件都自带`adb`。有些工具的`adb`版本低且独占手机通道,就会导致HBuilderX无法连接手机。
6. 在任务管理器中找到`adb.exe`相关进程(包括`kadb.exe`等),在任务管理中右键该进程,打开文件位置,查看该进程是什么软件启动的。
7. 禁止这些软件监听手机插入(一般在该软件的设置中)、禁止自动启动。
8. 有些软件结束adb进程后又会自动启动,所以得将`adb.exe`文件重命名一下,实在不行卸载了这些流氓软件。
9. 关闭所有手机助手及进程里各种`adb.exe`(包括`kadb.exe`等),再试。
#### 4.1.3 adb占用问题
如果你找不到被谁占用,则还可以使用如下方式检测,寻找幕后黑手:
1. 打开命令行窗口
2. 确认adb的启动进程:
寻找端口是`5037``tcp连接`,在命令行中输入:`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。
3. 根据进程的PID可以找到具体进程。
在命令行中输入:`tasklist | findstr 5816`
在输出结果中找到类似下面的一行:
```shell
adb.exe 5816 Console 0 4,440 K
```
adb.exe(名称一般不是adb.exe,以adb.exe举例)为启动的adb进程。
或者手工在任务管理器中定位这个进程,打开任务管理器后,进入进程选项卡,如果列表里有PID,直接找;如果列表里没有PID,点菜单查看-选择列,勾上PID。
#### 4.1.4 其它问题
如果以上方式仍然不行,还有一种可能是手机对adb的版本有特定要求(遇到一些魅族手机有此问题),此时需要更换HBuilder的adb版本。
- HBuilder安装目录下带了多个版本的adb。
- HBuilder的adb目录位置:tools/adbs目录(MAC下为HBuilder.app/Contents/tools/adbs目录)
- HBuilderX的adb目录位置:plugins/launcher/tools/adbs目录(MAC下为`/Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/launcher/tools/adbs`目录)
替换版本前,将默认版本的adb.exe备份下。然后把1.0.31版的adb.exe拷贝出来替换主目录下的exe。
### 4.2 Windows: 连接iOS手机@windows-ios
#### 4.2.1 iTunes下载说明@windows-download-itunes
[Windows 32位 itunes][下载地址](https://pc.qq.com/detail/9/detail_609.html)、[所有版本的itunes下载地址](https://mydown.yesky.com/pcsoft/445423/versions/)
[Windows 64位 itunes][下载地址](https://pc.qq.com/detail/3/detail_2683.html)、[所有版本的itunes下载地址](https://mydown.yesky.com/pcsoft/33491427/versions/)
- 建议从如上地址下载iTunes;如果是第一次安装完itunes,建议重新启动电脑
- itunes请勿从`微软应用商店`下载;
- 如果您的电脑是`64位`, 且HBuilderX的版本低于3.4.0,请下载`12.9.4.102`之前的iTunes.
- 如果您的电脑是`32位`,请下载`12.9.4.102`之前的iTunes.
**特别注意**`如手机屏幕弹出需信任本计算机的询问,请同意该授权`
#### 4.2.2 疑难排查@windows-itunes-question
1. itunes安装完成后,请确认itunes可以`正常`连接手机。如果itunes都无法连接手机,请先解决itunes连接手机问题。
2. 如果以上方案都无法解决,有可能是因为本地库与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或者重试真机运行
3. 有可能是iTunes安装时依赖库丢失,尝试重装iTunes解决问题
4. iTools提供了一个修复驱动的工具和教程,可以参考[http://bbs.itools.cn/thread-129390-1-1.html](http://bbs.itools.cn/thread-129390-1-1.html)
#### 4.2.3 itunes无法检测到手机
itunes无法检测到手机,itunes弹窗提示:`iTunes 在您的电脑上检测到不兼容的蓝牙软件,可能无法正常运行`
请禁用或更新某些蓝牙驱动。或参考[Apple 论坛解决方案](https://discussionschinese.apple.com/thread/140142495?page=2)
## 5. 其它问题@other
---
#### Q1: 能检测到手机,但处于置灰状态无法点击
发生此情况一般为检测到手机后,中间因为其他软件连接断开了,需要重新插拔手机或重启HBuilderX。
#### Q2: 能检测到手机,但点HBuilder的真机运行,安装调试基座失败
1. 部分Android rom如小米有usb安装apk的权限,可能是关闭状态,此时需要在手机管家等设置里寻找usb安装apk的权限,将其打开。
2. 部分Android手机在usb安装apk时,会在手机界面上弹框,如果不能及时点弹框,会因为超时而安装失败。请注意手机屏幕的显示。
当HBuilder控制台提示`“安装HBuilder基座App失败,请使用手机助手手动安装xxx\android_base.apk。”`时,基本都属于这种情况。
3. iOS版本偶发也会报错。同样需要根据提示手动安装iPhone_base.ipa。安装方式推荐itools,没有itools使用itunes也可以。
安装完毕后,会在手机上有一个HBuilder的应用。
以后再点真机运行,就可以把项目部署到手机上,然后手动点击HBuilder应用,就能看到项目的结果。
#### Q3: HBuilder控制台不输出日志问题的解决办法
参考[http://ask.dcloud.net.cn/article/1336](http://ask.dcloud.net.cn/article/1336)
#### Q4: Android手机真机运行提示应用安装成功,但是其实手机上并没有HBuilder应用
1. 确认USB调试模式是否打开。如果未打开,请打开USB调试模式重新运行真机调试。
2. 如果HBuilder已经检测到手机,可能存在与手机助手冲突的情况,请关闭所有的手机助手重新运行真机调试。
3. 利用手机助手手动安装android_base.apk到手机上,然后重新运行真机调试。
#### Q5: Android真机联调报文件操作Permission denied
请尝试以下方法解决:
1. 拔出数据线
2. 重新`打开USB调试模式`
3. 重新插上数据线,此时手机上可能需要授权确认,点击确认
4. 重新运行真机调试看看是否还有问题
5. 重启手机,再重新运行真机调试,看看问题是否解决
6. 如果还有问题,重新启动HBuilder,重复1-4步骤,再重新运行真机调试,看看问题是否解决
7. 如果问题仍然没有解决,则重新安装手机驱动:
1)我的电脑---右键--属性--硬件---设备管理器--删除USB驱动
2)打开手机助手重新安装驱动; 此时手机上可能需要授权确认,点击确认,然后再重新运行真机调试
8. 如果以上方案均无法解决,则有可能是手机root的时候,把sdcard目录的权限搞错了,导致无法真机运行,此时可以恢复出厂设置,或者重新root,或者刷机解决此问题
#### Q6: Android真机联调报:open '/dev/hwlog_switch' fail -1, 13. Permission denied
请尝试以下方法解决:
1. 参考 [http://ask.dcloud.net.cn/article/1336](http://ask.dcloud.net.cn/article/1336)
2. 拔插数据线重试
3. 重新打开USB调试模式重试
4. 重启手机重试
5. 重新启动HBuilder重试
6. 如果以上方案均无法解决,则有可能是手机root的时候,把sdcard目录的权限搞错了,导致无法真机运行,此时可以恢复出厂设置,或者重新root,或者刷机解决此问题
#### Q7: 为什么Android手机没有SDCard就不能真机调试?
Android没有root的手机只有SDCard才有权限。不过此SDCard并不是非得外插一张实体sd卡,是手机里一个叫SDCard的根目录。
如果是使用Android模拟器,在模拟器里可以配置SDCard是否存在及大小。
此情况已过期,目前正常手机都有SDCard目录。
#### Q8: 控制台显示手机应用已启动,但手机屏幕上没有出现?
Android手机第一次安装基座应用时,手机端大多有各种杀毒软件要检测一会才会放行,需要等一会。
#### Q9: 5+App运行后手机端一直在启动画面停留,不停转圈不能进入
这是应用的js代码的问题,启动画面的关闭是可配置的。参考 [http://ask.dcloud.net.cn/article/110](http://ask.dcloud.net.cn/article/110)
#### Q10: 为什么我电脑没有插iphone,但HBuilder检测到iOS设备?
iTunes支持wifi同步,如果iOS设备启动了wifi同步,电脑端的iTunes就可以检测到,进而HBuilder也可以检测到。
#### Q11: 真机运行成功启动,但手机端软件启动后显示的不是正在运行的项目。
这种情况是adb连接手机成功,但copy项目文件到手机上失败了。重新运行真机调试。
或者检查待运行工程的目录名文件名是不是有特殊符号或超长导致Android不识别。
#### Q12: 真机运行启动后显示HBuilder真机运行(log)界面 {#synchronous}
1. 重新运行真机调试尝试解决问题
2. Android设备可能存在与手机助手冲突的情况,请关闭所有的手机助手重新运行真机调试
3. 如果步骤2无法解决,请更换别的手机助手,重新运行真机调试尝试解决问题
4. 确认手机上HBuilder应用安装位置,如果手机上有外置sdcard,不要把HBuilder基座App安装在外置sdcard上,如果是安装在外置sdcard上,卸载外置sdcard上的HBuilder基座App,并在设置中将应用的默认安装位置不要设置为外置的sdcard上,或者将应用转移至手机内存或内置sdcard上,并重新运行真机调试
#### Q13: 使用genymotion模拟器真机运行,安装apk时报INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
参见[genymotion模拟器报INSTALL_FAILED_CPU_ABI_INCOMPATIBLE的解决办法](http://blog.csdn.net/wjr2012/article/details/16359113)
其他模拟器的适配在论坛中搜索即可。
#### Q14: 如何通过wifi真机运行,不插数据线?
参考[http://ask.dcloud.net.cn/article/565](http://ask.dcloud.net.cn/article/565)
# 安装模拟器@Simulator
> Android模拟器在MacOSX、Windows上都可以安装;iOS模拟器只能在MacOSX上安装。
- [安装iOS模拟器](/Tutorial/App/installSimulator?id=ios模拟器)
- [安装Android模拟器](/Tutorial/App/installSimulator?id=android模拟器)
## ios模拟器@ios
MacOSX,安装ios模拟器,需要先安装[xcode](https://developer.apple.com/xcode/);或在App store中搜索xcode完成安装。
xcode安装打开,按下快捷键`command+,`,打开`Preferences`窗口,如下图:
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/macosx/iosSimulator.jpg)
如上窗口,点击【Locations】,点击【Command Line Tools】
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/macosx/xcodeCommandLineTools.jpg)
## 运行App到iOS模拟器@run-app-ios-simulator
项目管理器,选中要运行的项目,点击工具栏 运行图标,如下图:
![](https://hx.dcloud.net.cn/static/snapshots/app/app_ios_simulator.jpg)
运行app项目到iOS模拟器效果如下:
![](https://hx.dcloud.net.cn/static/snapshots/app/app_ios_simulator_run.jpg)
## Android模拟器@android
市场上有很多成熟的Android模拟器,这里就不推荐了。自行搜索安装。
当然,Google官方也有自己的模拟器,您可以在[Android Studio](https://developer.android.com/studio/install)中安装不同版本的模拟器。
android studio模拟器如下图所示:
![](https://hx.dcloud.net.cn/static/snapshots/tutorial/macosx/androidSimulator.jpg)
## 运行App到Android模拟器@run-app-android-emulator
Android模拟器启动后,HBuilderX会将其识别为名称为`emulator-xxxx`的Android手机,其中的xxxx为模拟器的id如下图:
![](https://hx.dcloud.net.cn/static/snapshots/app/Android-emulator.jpg)
运行app项目到android模拟器效果如下:
![](https://hx.dcloud.net.cn/static/snapshots/app/Android-emulator-start.jpg)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册