码农知识堂 - 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

  • 相关阅读:
    TDengine支持多种写入协议,四种写入方式提效大全
    Ant-Design-Pro-V5 :QueryFilter高级筛选组件、Table以及Pagination组件结合实现查询。
    观察者模式:包工头的救赎
    小程序转App最便捷的方法,附实操
    GNSS全球卫星导航系统相关技术
    Ubuntu系统下MySQL开启远程连接
    【角点检测】 基于matlab GUI图像角点检测【含Matlab源码 2082期】
    OpenSSF的开源软件风险评估工具:Scorecards
    Java虚拟机(Jvm详解)
    LeetCode 389. Find the Difference
  • 原文地址:https://blog.csdn.net/fumeidonga/article/details/133042096
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号