(帖子有点长,别嫌我啰嗦,说得详细一点一是方便官方查找问题原因,二是希望大家遇到问题时不妨自己先想想如何解决,总会遇到只能靠你自己解决问题的时候,开发的路上道阻且长)
为了图个轻松,这次项目准备用跨平台的方案实现,偶然注意到了uni-app,看完介绍后觉得『哇,这就是我想要的』
很早以前用过HBuilder,没想到现在已经升级到HBuilderX了,赶紧下载体验一下
按照官网创建uni-app--运行--运行到小程序模拟器
先说一下我的配置
HBuilderX 2.0.1
macOS 10.14.5
android studio 3.4
xcode 10.2.1
微信开发者工具 1.02.1904090
Genymotion 3.0.2
控制台飘红了,大意是找不到 微信开发者工具/Default/.cli (这个问题只会在首次安装微信开发者工具时出现,一旦运行成功后HBuilderX会在/Users/你的用户名/Library/Application Support/微信web开发者工具/Default 下添加配置,这样问题就不会出现了,个人猜测微信开发者工具从老版本升上来也不会有这个问题,但是这种问题对于新手来说无疑就是当头一棒啊,希望官方能出一个不强依赖目录变化的较通用的方案把此问题修复)
细心的读者应该发现了,『微信开发者工具』『微信web开发者工具』,名字差了中间的web,可能时微信版本升级目录结构变了,那自己建立Default目录不就好了
cli目录在 /Applications/微信开发者工具.app/Contents/MacOS 下,在/Applications/微信开发者工具.app 下建立Default目录并创建cli的软链接(别问我软链接怎么创建,自行baidu),OK,问题解决**
接着再来试试手机模拟器运行,点击运行--运行到手机或模拟器--未检测到手机或模拟器,请稍后再试??
明明模拟器已经起来了,确认用android studio可以编译安装应用啊
查看官方介绍确实支持模拟器啊,黑人问号脸???
好吧,继续踩坑,网上查了一些资料,说是要先关掉adb然后到HBuilderX目录里找到自带adb重新启动,找到/Applications/HBuilderX.app/Contents/HBuilderX/plugins/launcher/tools/adbs目录下的adb,居然启动失败……
使用 ps aux | grep adb 命令查看adb相关进程,adb已经起来了,不过是Android Studio里带的adb,那么可能时原因就是Genymotion设置里指定的adb是Android Studio带的adb,HBuilderX自带的adb版本过低导致无法连接(自带adb本是好意,但是更新不及时反而成了麻烦)
解决的办法就是更新HBuilderX自带的adb(不用告诉我HBuilderX可以指定adb路径,我试过指向Android Studio里的adb,并没什么用,这可能又是一个bug,希望官方能解决)
我直接把Android Studio里的adb覆盖HBuilderX 自带的adb,HBuilder--偏好设置--运行配置--Android模拟器端口改成5555(这是Genymotion的端口,夜神的是62001,总之改成你用的模拟器对应端口)重启HBuilder,就可以看到手机模拟器了,运行成功!
长舒一口气,可以愉快的开发了……
等等!好像少了什么……iOS模拟器呢???
明明装有xcode,用xcode启动模拟器也是没问题了,为什么HBuilderX不能找到ios模拟器?
好吧,继续……
先看看xcode支持哪些ios模拟器,打开cmd,运行xcrun simctl list 出现:xcrun: error: unable to find utility "simctl", not a developer tool or in PATH (xcrun工具怎么装自行baidu……),瞬间明白了,HBuilder肯定也是依赖此命令查找的ios模拟器,解决的办法 打开xcode--Preferences--Locations--Command Line Tools 选择Xcode 10.2.1,重启HBuilderX,问题解决!
好了,终于可以开始了……
希望官方在下一个版本中把这些问题修复,或者给出一些通用的方案,关注以及及时的更新各个平台最新安装包的升级情况,能让首次使用的用户少走一些弯路,我也是差点就放弃了这个想把功能体验一遍却花了我一天时间寻找错误原因的工具
2 个回复
5***@qq.com
关键的一步:Android模拟器端口改成5555(这个Android模拟器我用的Android Studio 自带的,MAC上这个端口号要怎么获取到)
h***@qq.com
这条指令太关键了,HBuilerX 好坑,完全没有任何提示。