关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。
一、导读
我们继续总结学习基础知识,温故知新。
本文记录android etc1工具的介绍及使用。
本文记录android zipalign命令的介绍及使用。
二、etc1tool
etc1tool 是一种命令行实用程序,可用于将 PNG 图片编码为 ETC1 压缩标准格式(PKM),并将 ETC1 压缩图片解码回 PNG。
简单讲就是 png跟pkm图片格式互相转换。
android中pkm格式的文件可放在assets目录下进行读取。
2.1、用法
etc1tool infile [--help | --encode | --encodeNoHeader | --decode] [--showDifference
diff-file] [-o outfile]
选项 | 说明 |
---|---|
infile | 要压缩的输入文件。 |
--help | 输出用法信息。 |
--encode | 从 PNG 文件创建 ETC1 文件。如果未指定模式,这将是此工具的默认模式。 |
--encodeNoHeader | 从 PNG 文件创建原始 ETC1 数据文件(没有标头)。 |
--decode | 从 ETC1 文件创建 PNG 文件。 |
--showDifference diff-file | 将原始图片和编码图片之间的差异写入 diff-file。此选项仅在编码时有效。 |
-o outfile | 指定输出文件的名称。如果未指定 outfile,输出文件的名称将由输入文件的名称加上适当的后缀(.pkm 或 .png)构成。 |
三、zipalign
zipalign 是一种 zip 归档文件对齐工具,有助于确保归档文件中的所有未压缩文件相对于文件开头对齐.
若通过使用 Android Gradle 插件 (AGP) 的 Android Studio 进行构建,系统会自动完成此操作。
下面本主要讲自定义构建系统的使用:
3.1 使用
如果您的 APK 包含共享库(.so 文件),请使用 -p 来确保它们与适合 mmap(2) 的 4KiB 页面边界对齐。
对于其他文件(其对齐方式由 zipalign 的必选对齐参数确定),Android Studio 将在 32 位和 64 位系统中对齐到 4 个字节。
如需对齐 infile.apk 并将其保存为 outfile.apk,请运行以下命令:
zipalign -p -f -v 4 infile.apk outfile.apk
如需确认 existing.apk 的对齐情况,请使用以下命令。如果您使用 Android Studio 或 AGP 进行构建,则应使用该命令来验证 APK 是否已对齐。
zipalign -c -v 4 existing.apk
选项 | 说明 |
---|---|
-c | 仅检查对齐情况(不会修改文件)。 |
-f | 覆盖现有输出文件。 |
-h | 显示工具帮助。 |
-p | 使未压缩的 .so 文件对齐页面。 |
-v | 详细输出。 |
-z | 使用 Zopfli 重新压缩。 |
四、 推荐阅读
[SQL 专栏]
[数据结构与算法]
[Android学习专栏]