这两天写了个小程序,想封装成apk,经过一番面向百度后,谈一下封装的收获。
一、封装用的工具Hbuild
因为对安卓编程不太了解,所幸得到了这个傻瓜式的封装工具。
二、配置过程:
1、先用Hbuild创建一个“ 5+AP(a) ”项目。
具体如下
2、配置项目:
如果是静态页面。可以直接将所有的文件拷贝到项目文件夹。
然后点击项目中的 manifest.json 文件,会出现右侧配置界面。
A、基础配置:AppId是随机生成的;应用名字自己填写;应用入口默认为index.html,可以修改为自己的,也可以修改为url地址(这里是比较容易踩坑的,一会讲)。
B、图标、启动项、SDK以及模块,根据自己需要进行配置
C、App其他配置,将cpu支持类型全部选中,以便于适配不同型号机器
三、封装
直接点击项目,右键-发行-云打包。然后就到了打包界面
1、可以打包安卓和ios,安卓可以直接打包,ios需要向苹果公司申请证书,具体我也没折你去哪个,你们可以自己试试。、
我这里就以安卓为例。
我使用的是自己的证书,没证书的小伙伴可以使用公测证书
2、按所有要求填写完成后,直接点击底部打包就可以了
3、等待过程中,Hbuild底部控制台会给我们提示,打包完成后,有一个链接,点击下载就可以了
四、测试
这就是我遇到坑的地方
我做的app是需要连接服务器可以登录的,我在mumu模拟器里进行的测试,因为我是直接把app需要展示的项目文件全部拷贝到了Hbuild项目文件夹里了,获取数据一切正常,高能时刻来临。我开始测试登录界面,出问题了。
出问题的不是登录,而是登录跳转,登录之后显示登陆成功,而且服务器也报登录成功。
但是没有跳转!!!!
但是没有跳转!!!!
但是没有跳转!!!!
这就很奇怪了,我引入的确实没问题啊。最后经过一遍遍测试,我决定将app项目放到服务器,封装时,不再将app项目放到apk文件里了。基础配置处将index.html改用固定url,经过封装,一次搞定。
多次退出登录或者停止运行后,清理缓存,都正常运行,只要不清理全部数据还能正常存储token或者cookie
五、总结
经过多番请教,才知道Vue用HBuilder打包很容易出问题
1、路由模式不能为History模式
2、所有的图片地址都不能用觉得路径如"/img/xxx.png",要改成相对路径如"./assets/img/xxx.png"
3、服务器配置如果用域名判断的,记得改成写死的配置,测试和正式的用不同配置。
4、如果能将app项目文件放到服务器上,就不用将app项目文件放到apk中了,基础配置也只需要将相对路径换成固定的url路径就可以完美解决了。
5、不需要页面跳转的可以忽略以上