码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Android etc1tool之png图片转换pkm 和 zipalign简介


    关于作者: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]
    
    • 1
    • 2
    选项说明
    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
    
    • 1

    如需确认 existing.apk 的对齐情况,请使用以下命令。如果您使用 Android Studio 或 AGP 进行构建,则应使用该命令来验证 APK 是否已对齐。

    zipalign -c -v 4 existing.apk
    
    • 1
    选项说明
    -c仅检查对齐情况(不会修改文件)。
    -f覆盖现有输出文件。
    -h显示工具帮助。
    -p使未压缩的 .so 文件对齐页面。
    -v详细输出。
    -z使用 Zopfli 重新压缩。

    zipalign

    四、 推荐阅读

    Java 专栏

    SQL 专栏

    数据结构与算法

    Android学习专栏

    ddd

  • 相关阅读:
    马士兵-郑金维—并发编程—2.并发编程的三大特性
    调用feign报错openfeign/feign-core/10.4.0/feign-core-10.4.0.jar
    iOS开发Swift-14-反向传值,右滑删除,语言本地化,编辑换序,DeBug,addTarget-待办事项App(3)...
    https网址大部分电脑没问题,部分就是提示下面的各种试试
    分布式搜索引擎03
    一个好用的多方隐私求交算法库JasonCeng/MultipartyPSI-Pro
    JAVAEE初阶相关内容第十一弹续集--多线程(进阶)之常见面试题汇总1
    通俗易懂的Docker (一篇文章就让你玩转)
    Spring MVC
    [OS-Linux] 创建新用户以及 使用私钥登录Linux
  • 原文地址:https://blog.csdn.net/fumeidonga/article/details/133042096
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号