Android etc1tool之png图片转换pkm 和 zipalign简介

慈云数据 6个月前 (05-13) 技术支持 84 0

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。

专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

目录

  • 一、导读
  • 二、etc1tool
    • 2.1、用法
    • 三、zipalign
      • 3.1 使用
      • 四、 推荐阅读

        在这里插入图片描述

        一、导读

        我们继续总结学习基础知识,温故知新。

        本文记录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)构成。

        etc1tool

        三、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 重新压缩。

        zipalign

        四、 推荐阅读

        Java 专栏

        SQL 专栏

        数据结构与算法

        Android学习专栏

        ddd

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon