鸿蒙5.0开发实战:调试命令>扫描工具

 鸿蒙HarmonyOS开发实战往期必看文章:(持续更新......)

HarmonyOS NEXT应用开发性能实践总结(持续更新......)

HarmonyOS NEXT应用开发案例实践总结合集(持续更新......)

一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!

最新版!“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)


简介

扫描工具可用于分析检测应用安装包,根据不同的参数设定,扫描指定路径的HAP、HSP、App包内容并输出检测结果报告,为开发者优化包结构或排查问题提供数据支撑。目前扫描工具支持以下几种分析统计:

  • 扫描重复文件。
  • 扫描超出指定大小的文件。
  • 统计分析各类型文件的总大小和占比。

工具扫描结果默认以JSON和HTML两种文件格式输出。

扫描工具app_check_tool.jar需要从SDK路径下的toolchains目录中获取。

约束与限制

扫描工具需运行在Java8及其以上环境。

扫描重复文件示例

命令示例:

java -jar app_check_tool.jar --input ./test.app --out-path ./test --stat-duplicate true

扫描重复文件指令参数说明

指令是否必选项描述
--input指定传入的HAP、HSP、App包文件路径。
--out-path指定结果输出文件夹目录。
--stat-duplicate

是否扫描重复文件。默认为false。

true:启用。

false:不启用。

JSON统计结果:

[{
    "taskType":1,
    "taskDesc":"find the duplicated files",
    "param":"--stat-duplicate",
    "startTime":"2023-11-17 14:48:01:265",
    "stopTime":"2023-11-17 14:48:01:434",
    "result":[{
        "md5":"975c41f5727b416b1ffefa5bb0f073b",
        "size":1108880,
        "files":[
            "/application-entry-default.hap/libs/armeabi-v7a/example.so",
            "/entry-default.hap/libs/armeabi-v7a/example.so"
        ]
    }]
}]

扫描重复文件字段信息

字段类型描述
taskTypeint取值为1,表示扫描重复文件。
taskDescString任务的详细描述。
paramString扫描程序传入参数。
startTimeString任务开始时间。
stopTimeString任务结束时间。
resultStruct参考下表。

重复文件统计结果字段信息

字段类型描述
md5String相同文件的MD5值。
sizeint相同文件的大小。单位为Byte。
filesVector<String>相同文件名的对应路径。

扫描超出指定大小的文件示例

命令示例:

java -jar app_check_tool.jar --input ./test.app --out-path ./test --stat-file-size 4

扫描超出指定大小的文件的指令参数说明

指令是否必选项描述
--input指定传入的HAP、HSP、App包文件路径。
--out-path指定结果输出文件夹目录。
--stat-file-size

扫描超过设定大小的文件,单位KB

范围为 0-4294967295 KB。

JSON统计结果:

[{
    "taskType":1,
    "taskDesc":"find the duplicated files",
    "param":"--stat-duplicate",
    "startTime":"2023-11-17 14:48:01:265",
    "stopTime":"2023-11-17 14:48:01:434",
    "result":[{
        "md5":"975c41f5727b416b1ffefa5bb0f073b",
        "size":1108880,
        "files":[
            "/application-entry-default.hap/libs/armeabi-v7a/example.so",
            "/entry-default.hap/libs/armeabi-v7a/example.so"
        ]
    }]
}]

扫描超出指定大小的文件字段信息

字段类型描述
taskTypeint取值为2,表示扫描超出指定大小文件。
taskDescString任务的详细描述。
paramString扫描程序传入参数。
startTimeString任务开始时间。
stopTimeString任务结束时间。
resultStruct参考下表。

超出指定大小的文件统计结果字段信息

字段类型描述
fileString扫描的大文件的对应路径。
sizeint扫描的大文件的对应大小,单位为Byte。

统计各类型文件大小占比示例

命令示例:

java -jar app_check_tool.jar --input ./test.app --out-path ./test --stat-suffix true

统计各类型文件大小占比指令参数说明

指令是否必选项描述
--input指定传入的HAP、HSP、App包文件路径。
--out-path指定结果输出文件夹目录。
--stat-suffix

是否统计各类型文件大小及占比。默认为false。

true:启用。

false:不启用。

JSON统计结果:

[{
    "taskType":3,
    "taskDesc":"show files group by file type[.suffix]",
    "param":"--stat-suffix",
    "startTime":"2023-11-17 14:48:01:497",
    "stopTime":"2023-11-17 14:48:01:537",
    "pathList":[
        "test.app/application-entry-default.hap",
        "test.app/entry-default.hap"
    ],
    "result":[{
        "suffix":"so",
        "totalSize":1292840,
        "files":[{
            "compress":"false",
            "file":"/application-entry-default.hap/libs/x86_64/example.so",
            "size":1292840
        }]
    },
    {
        "suffix":"abc",
        "totalSize":84852,
        "files":[{
            "file":"/application-entry-default.hap/ets/modules.abc",
            "size":76304
        },
        {
            "file":"/entry-default.hap/ets/modules.abc",
            "size":8548
        }]
    }]
}]

统计各类型文件大小占比字段信息

字段类型描述
taskTypeint取值为3,表示统计各类型文件大小占比。
taskDescString任务的详细描述。
paramString扫描程序传入参数。
startTimeString任务开始时间。
stopTimeString任务结束时间。
pathListVector<String>多个HAP、HSP包的路径。
resultStruct参考下表。

各类型文件大小占比统计结果字段信息

字段类型描述
suffixString同类型文件后缀名。
totalSizeint

扫描的同类型

文件的总大小,单位为Byte。

filesStuct参考下表。

同类型文件的对应路径和大小字段信息

字段类型描述
fileString文件路径。
sizeint文件的大小。
compressbool

是否是压缩文件(仅so类型文件展示)。

true:是压缩文件。

false:不是压缩文件。

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)路线图、学习视频、文档用来跟着学习是非常有必要的。 

如果你是一名有经验的资深Android移动开发、Java开发、前端开发、对鸿蒙感兴趣以及转行人员

鸿蒙 NEXT 全栈开发学习笔记  希望这一份鸿蒙学习文档能够给大家带来帮助~

这份鸿蒙(HarmonyOS NEXT)包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、(南向驱动、嵌入式等)鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值