uni-app搭建Android APP调试环境及兼容处理
- 1.回顾
- 2.利用MUMU模拟器搭建手机模拟器
- 3.uni API兼容处理方法
- 参考文献:
1.回顾
之前,我在uni-app环境搭建的文章中简单写了一下怎么搭建uni-app环境并且还简单说了一下怎么利用手机打开开发者模式和USB调试。当时我也提到过,这种调试方法不太好,一种是连接USB调试得反复尝试(很难连接上),其次还给报存在“支付风险”。给出的解决方法是:安装手机模拟器。
2.利用MUMU模拟器搭建手机模拟器
为什么选择MUMU,因为网上说这款模拟器性能比较稳定,对CPU占用相比于其他的模拟器更友好。安装方法如下:
首先,直接去官网下载安装包,链接如下:
https://mumu.163.com/
先不要急着安转,这款模拟器不支持电脑上面的其他虚拟技术,因此需要关闭电脑的如下配置:
接下来,在cmd输入services.msc打开电脑的服务,进一步关闭Hyper-V相关服务:
接下来就能安装了,如果还是安装出错,检查一下你的电脑里面是否装有VMware虚拟机(我大一的时候装过),如果有的话,进一步卸载虚拟机就行,相信你如果把前端学到这个地步了,说明你和我一样对于前端开发还是比较感兴趣,为了debug,一个VMware,不要也罢。
接下来,应该安装成功了,接下来就进一步配置了。打开Hbuilder编译器,在运行菜单出点击“运行到手机或者模拟器”,然后打开ADB设置,将路径改成如下形式。并将端口号设置成7555
。
然后,打开MUMU模拟器。然后在运行到手机或者电脑模拟器中看到MUMU模拟器了。然后在Hbuilder中可以看到你想要找的bug了:
就根据报错提示作进一步修改就行,有很多其实是兼容性处理问题。在微信小程序编译器的中无法显示,这些隐藏的bug将来可能会影响项目的成功运行。
3.uni API兼容处理方法
对于兼容处理,主要还是得看uni-app官网对于api的说明,给出如下例子:
api:uni.getMenuButtonBoundingClientRect();
官网给出的兼容性说明:
对应的兼容性处理方法如下:
// h5 app mp-alipay不支持微信的方法
// #ifndef H5 || APP-PLUS || MP-ALIPAY
// 获取胶囊位置,API getMenuButtonBoundingClientRect 只有在微信小程序运行的时候才会生效,H5端查看会报错
const rect = uni.getMenuButtonBoundingClientRect();
// #endif
补充说明:这里的ifndef
表示的是排除给定的平台,ifdef
则是限制平台的意思。代码如果不在给定范围内,则直接调到#endif后面继续执行。
``
参考文献:
2.uniapp配置MUMU模拟器
3.uni-app各平台条件编译标记