nick_sh
nick_sh
  • 发布:2017-04-01 16:40
  • 更新:2020-01-08 11:02
  • 阅读:14597

Hbuilder打包APP踩坑经验之真机调试

分类:HBuilder

作为一个java文盲,h5+给了我一个开发移动APP的机会,这一点非常感谢。所谓万事开头难,从刚接触h5+到完成一个可以商用的APP的开发路就是一个不断挖坑又填坑的过程,充满了一个前端开发的血和泪。作为一个小白,也来分享一下开发的路上踩过的各种坑,以供后来人引以为鉴。

话说开发的过程中hbuilder的真机调试功能真是十分的方便,但是它并不“完美?”,今天就来吐槽一下真机调试的那些坑:

1,真机调试时图标,启动图什么的都不是自己在manifest.json里的配置,这点官方有说明不再赘述
2,真机调试的打包证书使用dcloud自有证书,如果是调试微信支付,百度地图等绑定包hash或包名的第三方sdk无法通过真机调试,除非申请微信支付(或其他)填写的就是dcloud官方证书的hash值
3,真机调试的包名是固定死的“io.dcloud.”+ appid ,绑定包名的第三方sdk不能用,除非申请时填写的包名也是“io.dcloud.”+ appid (应该很少人这么做吧 ^ ^)。
4,真机调试时各种权限都已开启,且第三方sdk基本上也都配置好了,而且是dcloud公司的私有配置,不是manifest.json手动填写的配置,所以有关没有权限或sdk配置参数错误这些bug,通过真机调试不能重现
5,真机调试plusready的执行逻辑跟真实APP包不太一样,这个我也是偶然发现,如果在同一页面(或引用的js里)写了2个plusready方法,即两次执行 document.addEventListener('plusready', function(){ /.../ }, false); 真机调试时两次调用的逻辑都执行了,但是打包后的APP执行了第二次的 plusready,这个问题调试时是个大坑
6,关于定位plus.geolocation.getCurrentPosition,正常只需要给geolocation权限就可以的,但是如果在 PositionOptions配置了provider是baidu或amap时,还需要maps权限和配置百度或高德appkey,但是如果没有配置maps权限真机调试完全OK的,原因就如第4条所述。

暂时先写这么多,后面陆续更新吧。。。

5 关注 分享
szzzzx r***@ZIJJJ.COM 段长发 小源很6 9***@qq.com

要回复文章请先登录注册

1***@qq.com

1***@qq.com

我申请了百度的appkey还是无法执行plus.geolocation.getCurrentPosition方法,求解~~
2020-01-08 11:02