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/

先不要急着安转,这款模拟器不支持电脑上面的其他虚拟技术,因此需要关闭电脑的如下配置:

uniapp ios无线调试 uniapp 安卓 调试_处理方法


接下来,在cmd输入services.msc打开电脑的服务,进一步关闭Hyper-V相关服务:

uniapp ios无线调试 uniapp 安卓 调试_android_02


接下来就能安装了,如果还是安装出错,检查一下你的电脑里面是否装有VMware虚拟机(我大一的时候装过),如果有的话,进一步卸载虚拟机就行,相信你如果把前端学到这个地步了,说明你和我一样对于前端开发还是比较感兴趣,为了debug,一个VMware,不要也罢。

    接下来,应该安装成功了,接下来就进一步配置了。打开Hbuilder编译器,在运行菜单出点击“运行到手机或者模拟器”,然后打开ADB设置,将路径改成如下形式。并将端口号设置成7555

uniapp ios无线调试 uniapp 安卓 调试_uniapp ios无线调试_03


然后,打开MUMU模拟器。然后在运行到手机或者电脑模拟器中看到MUMU模拟器了。然后在Hbuilder中可以看到你想要找的bug了:

uniapp ios无线调试 uniapp 安卓 调试_uni-app_04


    就根据报错提示作进一步修改就行,有很多其实是兼容性处理问题。在微信小程序编译器的中无法显示,这些隐藏的bug将来可能会影响项目的成功运行。

3.uni API兼容处理方法

    对于兼容处理,主要还是得看uni-app官网对于api的说明,给出如下例子:

api:uni.getMenuButtonBoundingClientRect();

官网给出的兼容性说明:

uniapp ios无线调试 uniapp 安卓 调试_uni-app_05


对应的兼容性处理方法如下:

// h5 app mp-alipay不支持微信的方法
// #ifndef H5 || APP-PLUS || MP-ALIPAY
// 获取胶囊位置,API getMenuButtonBoundingClientRect 只有在微信小程序运行的时候才会生效,H5端查看会报错
const rect = uni.getMenuButtonBoundingClientRect();
// #endif

补充说明:这里的ifndef表示的是排除给定的平台,ifdef则是限制平台的意思。代码如果不在给定范围内,则直接调到#endif后面继续执行。

uniapp ios无线调试 uniapp 安卓 调试_官网_06


``

参考文献:

    1.uni-app官网

    2.uniapp配置MUMU模拟器

    3.uni-app各平台条件编译标记