功能介绍

应用与服务体检工具(AppAnalyzer)用于对应用和元服务进行本地测试体检,并给出体检报告、分析指导以及修改建议,帮助开发者提升应用质量。在体检过程中,工具会收集应用的trace信息、代码栈、内存快照以及应用页面的截屏,并保存在本地工程目录.appanalyzer下,帮助开发者快速进行问题分析定位。

开发者可以通过DevEco Studio连接本地设备,自主遍历HarmonyOS应用或元服务的功能,快速进行自测试,查看测试结果及评分。当前支持的测试类型包括兼容性、性能、UX测试和最佳实践等。

使用约束

  • 当前仅phone类型的设备支持使用应用与服务体检能力。
  • 在使用AppAnalyzer对HarmonyOS应用/服务进行测试之前,先要确保[DevEco Studio与真机设备已连接]。
  • 在使用AppAnalyzer对HarmonyOS应用/服务进行测试之前,请先根据[应用/服务签名]章节进行签名,再编译生成HAP或编译生成HSP。

HarmonyOS应用测试

  1. 通过以下任意一种方式,打开AppAnalyzer。

    • 单击菜单栏Tools > AppAnalyzer,打开AppAnalyzer页面。
    • 在编辑窗口右侧的工具栏,点击AppAnalyzer,打开AppAnalyzer页面。
  2. AppAnalyzer页面Module选择框选择HarmonyOS应用/服务工程模块。

    说明

    • 只有已经完成签名编译打包的模块才能被选中。
    • 支持同时添加多个模块,要求所有模块的“bundleName”相同,且多个模块中只能包含一个Entry。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 根据应用的类别选择Category。

    如果模块的类型(application/service)有修改,再次使用应用与服务体检功能时,请点击Module取消勾选后再重新勾选模块。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  4. 选择一个体检规则集,不同的规则集包含的检测规则如下,然后在AppAnalyzer页面底部单击Start开始测试。在测试过程中,请保持连接的设备为解锁亮屏状态。

    • Benchmark:性能规则集,默认包含快速性能、最佳实践和部分兼容性检测规则。
    • Custom:自选规则集,开发者可以按需选择检测规则。
    • Basic:基础规则集,包含规格约束测试、性能测试、兼容性测试、安全测试的部分检测规则。
    • All:全部规则集,包含所有检测规则。

    说明

    请勿在测试完成前点击结束,如果提前结束测试会导致测试结果不准确。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  5. 如果选择最佳实践或快速性能检测的部分规则,在体检结束后需要根据提示手动遍历HarmonyOS应用/服务的功能。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    以性能Benchmark规则集为例,自动检测和手动遍历完成后点击Stop停止测试任务,查看测试结果如下。

    • 测试报告:检测结果的汇总信息,点击Export按钮可导出html体检报告。

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 错误报告:只包含检测失败的规则,列出相关的文件并给出对应的优化建议。

      • source文件、profiler文件(包含trace文件和调用栈文件)或snapshot文件:点击source文件可跳转到问题源码,点击profiler文件或snapshot文件支持直接拉起性能分析工具Profiler并导入性能检测的问题数据进行调优分析。
      • 分析文档:点击链接可跳转至官网文档,参考文档对检测出来的问题进行分析。
      • 优化指南文章:点击链接可跳转到官网关于检测出来的问题相关的优化指南文章。
      • Code Linter:在“最佳实践体检”项目中,可直接在拉起Code Linter的同时,传递有问题的代码文件名,自动执行代码检查。在“性能检测规则”项目中,因无代码文件名等信息,部分检测规则不支持自动执行代码检查,仅支持拉起Code Linter。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查看历史报告

  1. 在DevEco Studio中,单击菜单栏Tools > AppAnalyzer,弹出AppAnalyzer页面。

  2. 点击底部按钮,可查看最近5次的体检报告记录,点击时间戳可跳转至详细的体检报告。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

评分方法及规则

应用与服务体检当前支持兼容性、性能、UX测试和最佳实践等测试类型检测。AppAnalyzer会根据体检结果计算出最后评分,满分为100分。评分的计算公式为:

评分 = 100{总分-Sum(单项未得分*权重)/* 总分}

说明

单项得分:满足检测规则为1分,不满足为0分。

各体检项检测规则及权重如下表所示:

体检类别 检测规则 应用或服务规则 权重
规格约束 Entry hap检测 应用,服务 5
包名和版本号一致性 应用,服务 4
SDK版本检测 应用,服务 3
ReqPermissions权限 应用,服务 4
设备类型 应用,服务 5
应用/元服务必须有图标 应用,服务 5
应用/元服务要支持64位so文件 应用,服务 4
元服务内所有包总和大小不超过10MB 服务 2
元服务单个包文件大小不超过2MB 服务 2
元服务免安装属性 服务 4
元服务预加载对应模块类型不能为entry 服务 4
应用非免安装属性 应用 2
卡片metadata元信息 应用,服务 3
卡片supportDimensions字段 应用,服务 3
卡片defaultDimension字段 应用,服务 3
卡片isDefault字段 应用,服务 3
卡片updateEnabled字段 应用,服务 3
卡片description字段 应用,服务 4
兼容性 应用支持在当前OS版本/设备类型安装 应用,服务 5
应用支持在当前OS版本/设备类型启动 应用,服务 5
应用支持在当前OS版本/设备类型卸载 应用,服务 4
应用在当前OS版本/设备类型运行稳定 应用,服务 3
性能 应用内点击操作响应快 应用 3
应用内点击操作完成快 应用 3
应用内滑动操作响应快 应用 3
应用内滑动过程流程 应用 3
应用内转场操作流畅 应用 3
应用动态内存峰值占用 应用 3
应用前台场景内存峰值占用 应用 3
应用后台CPU占用峰值 应用 3
图形渲染服务处理节点数小于500 应用 1
快速性能检测(仅性能benchmark规则集包含) 页面内点击操作完成时延快速检测 应用 3
页面内滑动过程流畅性快速检测 应用 3
页面转场操作流畅性快速检测 应用 3
页面内节点数超过500过多快速检测 应用 1
页面内白块检测 应用 1
页面内点击操作响应时延快速检测 应用 3
页面内滑动响应时延快速检测 应用 3
避免页面内UI容器组件超出屏幕过多 应用 1
应用冷启动完成时延检测 应用 3
功耗 后台进程CPU负载约束(长时任务) 应用 1
后台进程CPU负载约束(短时任务) 应用 1
合理使用蓝牙资源 应用 1
合理使用麦克风或者扬声器 应用 1
合理使用GPS资源 应用 1
合理使用sensor资源 应用 1
后台合理使用系统资源 应用 1
稳定性 应用崩溃检测 应用,服务 2
应用卡死检测 应用,服务 4
内存泄漏检测 应用,服务 4
安全与隐私 申请权限字段规范 应用,服务 2
应用Ability可见性设置 应用,服务 2
应用Ability权限设置 应用,服务 2
DataShareExtensionAbility组件权限 应用,服务 2
权限申请最小化原则 应用,服务 2
公共事件接收器权限访问控制 应用,服务 2
应用调试属性 应用,服务 2
应用签名完整性 应用,服务 2
应用签名信息 应用,服务 2
UX测试 基础信息 服务 2
服务卡片定时刷新 服务 1
卡片背景圆角 服务 1
卡片最小字体 服务 1
卡片内容圆角 服务 1
卡片热区大小 服务 1
最佳实践 避免过大的组件树节点数目 应用,服务 2
避免执行脚本的耗时过长 应用,服务 2
避免渲染界面的耗时过长 应用,服务 2
ForEach性能 应用,服务 2
单帧属性数量更新内容限制 应用,服务 2
单帧脏组件数量限制 应用,服务 2
web组件初始化耗时检测 应用,服务 2
web执行js耗时检测 应用,服务 2
UI线程IO执行耗时长未并行化检测 应用,服务 2
UI线程耗时操作检测 应用,服务 2
web主资源下载耗时检测 应用,服务 2
web子资源下载耗时检测 应用,服务 2
短视频起播时延检测 应用 2
相机拍照完成时延检测 应用 2

最后呢

很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

在这里插入图片描述

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。

  • 《鸿蒙 (OpenHarmony)开发学习视频》
  • 《鸿蒙生态应用开发V2.0白皮书》
  • 《鸿蒙 (OpenHarmony)开发基础到实战手册》
  • OpenHarmony北向、南向开发环境搭建
  • 《鸿蒙开发基础》
  • 《鸿蒙开发进阶》
  • 《鸿蒙开发实战》

在这里插入图片描述

总结

鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿
1

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐