快应用常见问题 @2020~2021

快应用 Dec 28, 2020

快应用是移动互联网新型应用生态,与手机系统深度整合,为用户提供更加场景化的体验。具备传统 APP 完整的应用体验,但无需安装、即点即用。本文旨在汇聚快应用常见问题,包含调试器、IDE、以及引擎、登录、支付等,统一梳理、解答,从而更好服务快应用开发者。

备注:本文内容皆来自快应用常见问题网站,如果您有相关诉求,敬请关注 faq.quickapp.cn,将在此网站保持维护 & 更新 。

快应用调试器

调试器扫码安装提示安装失败?

有以下情况,会导致安装失败,请逐一检查下:

  • (调试器)开启了 USB 调试:
    1. 您的手机是否与电脑用 USB 线连接;
    2. 是否在 IDE 终端已成功构建(dist 目录是否存在 [PackageName].debug.rpk);
    3. 开发者选项中的 USB 调试是否打开;
  • (调试器)没有开启 USB 调试,扫码安装:
    1. 您的手机是否和电脑处于同一局域网;
    2. 是否在 IDE 终端已成功构建;

快应用预览版是用来做什么用的?

当您的手机系统尚未内置快应用运行平台,或您想在开发过程中,体验快应用尚未正式发布的新功能、新特性,您可以安装快应用预览版,在线下载地址,请参见资源下载

快应用调试器,如何安装未发布应用(非局域网)?

您可以上传 RPK 至服务器,或者 Github,为具体地址生成二维码,使用调试器扫码即可(Github 路径后需加 ?raw=true 参数)。更加推荐的是:使用官方提供的「包管理平台」。您可一键上传 RPK 至包管理平台(公网),用调试器扫所生成的二维码,即可安装。更详尽的内容,可以参见快应用包管理平台使用说明

真机调试,修改源码时,如何仅重新加载当前页,不重启应用?

开发调试时,如果每次修改保存,都回到首页,这对于其他页面调试,很不方便。自调试器 1020 版本及以上,增加了应用更新策略,使得更新 rpk 仅刷新当前页,而不用重启整个应用。具体设置方式:
在「快应用调试器」中选择设置应用更新策略仅刷新页面。更加详细的信息,请参见快应用调试器 1020 版发布

快应用调试器,运行模式,是做什么用的?

运行模式是用来选择调试「快应用」,还是调试「卡片」;运行模式,选择“应用”是用于调试快应用,选择“卡片”是用于调试卡片。

手机调试器,如何调试第三方分享、推送等服务?

调试第三方分享,具体可参考官方文档说明,调试推送服务,具体可参考官方文档说明,以及各家厂商推送服务文档

调试时手机息屏, 再次打开调试工具, console 被清空?

解决办法:将快应用调试器加入后台高耗电「白名单」;具体操作:设置 => 电池 => 后台高耗电,选择快应用调试器,把它打开即可。

可否关闭调试器自动弹出创建桌面方式?

可以。即通过设置 shortcut.systemPromptEnabled = false 来关掉;具体可参考官方文档说明

快应用开发工具

快应用 IDE 都有哪些功能,哪儿能看到版本迭代信息?

快应用 IDE,是一款专为快应用开发设计的工具。使用它,可以根据模版,快速新建项目(快应用 & 卡片);编辑代码,有完善的语法辅助、检测工具;支持模拟器和真机实时预览,开发调试;同时提供了一键提交 RPK 至包管理平台、官网,以及一键分享项目等功能。更详细内容,可参见文章——快应用开发工具入门介绍。关于 IDE 版本迭代信息,可以关注快应用博客 | IDE

手机通过数据线连接电脑,而 IDE 未提示设备已连接?

  1. 打开手机设置找到关于手机,向下滑动找到软件版本号,连续多次点击软件版本号直到提示“您已处于开发者模式”。
  2. 打开手机设置找到开发者选项,向下滑动找到USB 调试并打开该选项。
  3. 重新插拔手机,手机上会弹出授权对话框,勾选“始终允许使用这台计算机进行调试”,点击确定按钮;

点击 IDE 顶部 Debug 调试按钮开始调试,手机端快应用却没有运行起来?

  1. 打开手机设置找到关于手机,向下滑动找到软件版本号,连续多次点击软件版本号直到提示“您已处于开发者模式”。
  2. 打开手机设置找到开发者选项,向下滑动找到USB 调试并打开该选项。
  3. 重新插拔手机,手机上会弹出授权对话框,勾选“始终允许使用这台计算机进行调试”,点击确定按钮。
  4. 确认手机设备已经连接,IDE 右侧预览界面头部手机图标处于点亮状态;
  5. 点击 IDE 顶部hap``更新手机环境菜单,并在手机上按提示完成快应用预览版快应用调试器的安装;
  6. 打开手机设置找到权限管理,将快应用预览版存储关联启动后台弹出界面权限打开;
  7. 打开手机快应用调试器并将开启 USB 调试开关开启,此时会弹出授权对话框,点击始终允许按钮;
  8. 重新点击Debug 调试按钮开始调试;

编辑代码 Script 部分自动补全及悬浮提示不生效?

  1. 打开 IDE 首选项 => 设置,选择工作区设置,找到扩展 hap-language-features 中的 Extract Hap Types 并勾选 enable to import the latest types
  2. 退出并重新启动 IDE;
  3. 打开工程中的任意一个 .ux 文件;
  4. 查看工程目录下 node_modules 是否生成类似 @service.account.d.ts 的文件,存在则表示:自动补全及悬浮提示可以正常使用了;

IDE 模拟器预览跟手机端效果不一致?

由于纯原生渲染与 Web 渲染存在的差异性,导致部分预览效果不一致。我们建议以手机端效果为准。备注说明:对 于 IDE 预览,有在持续与真机对齐;倘若您有发现有差异的部分,还请给予反馈,感谢。

快应用开发工具怎么调试元素样式?

  • 基于模拟器调试:更新 IDE 至 3.3.0 版本以上;在 IDE 顶部导航栏,点击调试器 & 模拟器按钮🔘,使其处于激活态;在弹出的 DEVTOOLS 中,选中 UX 面板,即可开始调试元素。
  • 基于真机调试:
    • 基于 USB 调试:手机使用 USB 连接电脑;在 IDE 顶部导航栏,点击 USB 调试;在弹出的 Window 中,选中 Elements 面板,即可开始调试元素。
    • 基于局域网调试:点击 IDE 预览区顶部二维码小按钮,使用快应用调试器扫描所弹出的二维码;打开后回退至调试器,点击开始调试按钮🔘;在弹出的 Window 中,选中 Elements 面板,即可开始调试元素(确保手机跟电脑在同局域网)。

快应用开发工具怎么断点调试?

IDE 暂时还不具备这个功能(有考虑在后续迭代中,添加此功能,敬请期待),需要在 DevTools 面板进行断点调试。

快应用如何打出带签名的正式包?

IDE 正常构建是 Debug 包;顶部导航栏右侧,点击「打包」、「上传」所构建的包,即为 release 带签名的正式包(如果本地没有签名,会提示让先新建签名)。

IDE 上点 USB 调试无法打开调试器面板?

清理手机中调试器的进程,再点 USB 调试按钮,或者使用快捷键 F5;这是一个已知问题,在后期版本中,会联合调试器一起排查解决。

点击 IDE USB 按钮开始调试,手机端没有运行起来?

  1. 确认手机设备已经连接,IDE 右侧预览界面头部【手机】图标处于点亮状态
  2. 确认手机端【快应用预览版】和【快应用调试器】都安装成功,若未安装请按 IDE 的提示安装
  3. 打开手机【设置】找到【权限管理】,将【快应用预览版】的【存储】、【关联启动】和【后台弹出界面】权限打开
  4. 打开手机【快应用调试器】并将【开启 USB 调试】开关开启,此时会弹出授权对话框,点击【始终允许】按钮
  5. 重新点击 IDE USB调试 按钮 或者快捷键 F5 开始调试

IDE 调试器 DEVTOOLS 区域,操作无任何响应?

引发此问题具体原因,仍需排查;您可有以下两种方法来解决:

  1. 代码区,点击鼠标右键;
  2. 重新加载窗口(Ctrl+ Shift + P, Reload Window);

IDE 如何切换「中/英」文的设置?

点击 IDE 顶部导航栏,首选项(Preferences) => 选择语言(Select Language),选择想切换的语言即可。

您也可以基于快捷键 Ctrl Shift P 打开命令面板(Mac:Command Shift P),输入“language”,选择需要切换的语言即可。

快应用其他问题

快应用支持调起原生 APP 么?

功能上已经实现,但是大部分厂商审核是不允许的。目前支持的只有华为。调用方式,可以参考如何在快应用中打开原生应用?

快应用可否直接跳转到微信?

可以通过第三方服务如分享支付等唤醒微信。目前直接跳转到 app 的需求,暂时只有功能上的实现,但是大部分厂商审核,不会允许该功能上线,详见 router.push 打开原生应用

哪里可以检索快应用开发常见问题?

快应用问题检索,有将快应用开发中,遇到的问题进行统一汇聚整理;可以根据关键字,到该网站进行检索。

如果不能解决问题,可以前往快应用论坛发帖,或者加入快应用官方技术交流群(微信 OR QQ),<span class="hljs-meta">@技术弟</span>提出疑问,寻求解答。

快应用支付常见问题说明

快应用第三方登录支付签名教程一文中,对如何创建第三方登录、支付签名,快应用登录,以及支付常见问题,做了详细解答。如有相关其他问题,欢迎留言评论。

能否使用 QQ、微信登陆以及支付功能?

可以,详见快应用开发文档第三方服务。不过联盟不同厂商,对接口的支持略有不同,具体可以查看每个接口中的支持明细,如微信登录,可参考支持明细

快应用可否使基于 vue 进行开发?

自联盟引擎 1060+,开始支持使用 vue 开发快应用,具体可以参考官方文档:使用 Vue 开发快应用提示:华为快应用平台,未集成 Vue 框架,因此不支持 Vue DSL 的运行。

适配注意事项:需保证快应用的一级页面必须开启 menuBar。具体步骤如下:

  1. 删除所有页面文件(<span class="hljs-selector-class">.ux</span><span class="hljs-selector-class">.vue</span> 后缀名)中 onMenuPress 生命周期的实现;
  2. manifest.json 的 <span class="hljs-built_in">display</span> 属性中,若不手动添加 menubarData 项,则默认为全部快应用页面打开 menuBar(推荐做法);
  3. 若有需要手动关闭 menuBar 的页面,在 manifest.json 的 display 属性下的 pages 子项,设置对应页面 key 值下 menuBarData 的 menubar 参数为 false;

更详尽的内容,请参见快应用文档之 menuBar 配置

快应用是否支持使用 npm 上 js 库?

可以。理论上,如果该 js 库,不涉及 Dom 操作,快应用都支持,使用方式跟 Web 开发方式一致(如 crypto-js 等等)。

vivo developer

快应用引擎、工具开发者、快应用生态拓展达人(vivo)。

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.