zipalign


是一个存档对齐工具,可为Android应用程序(.apk)文件提供重要的优化。目的是确保所有未压缩数据以相对于文件开头的特定对齐开始。具体来说,它会导致.apk中的所有未压缩数据(如图像或原始文件)在4字节边界上对齐。这允许直接访问所有部分,mmap()即使它们包含具有对齐限制的二进制数据。其好处是能够减少应用程序的RAM内存资源消耗。

在将.apk文件分发给最终用户之前,应始终使用此工具来对齐.apk文件。Android构建工具可以为您处理此问题。将Eclipse与ADT插件一起使用时,导出向导会在您使用私钥对其进行签名后自动为.apk设置zipalign。在使用Ant编译应用程序时使用的构建脚本也将对.apk进行zipalign,只要您提供了密钥库的路径和项目ant.properties文件中的密钥别名,以便构建工具可以首先对包进行签名。

警告:只有在使用您的私钥对.apk文件进行签名才能执行zipalign 。如果在签名之前执行zipalign,则签名过程将撤消对齐。此外,不要对对齐的包进行更改。对存档的更改(例如重命名或删除条目)可能会破坏已修改条目和所有后续条目的对齐。添加到“对齐”存档的任何文件都不会对齐。

通过更改zip本地文件头部分中“额外”字段的大小来进行调整。“额外”字段中的现有数据可以通过该过程改变。

有关如何在构建应用程序时使用zipalign的更多信息,请阅读签署您的应用程序


1、对infile.apk进行对齐并且保存为outfile.apk

zipalign [-f] [-v] <alignment> infile.apk outfile.apk

2、检查apk是否进行了对齐

zipalign - c - v <alignment> existing.apk


infile.apk表示需要存档对齐的apk
outfile.apk表示存档对齐后的apk
alignment:表示指定的对应字节数,是一个整数且必须指定为4。

原文:google开发文档:http://www.android-doc.com/tools/help/zipalign.html

zipalign的使用的更多相关文章

  1. 运行re-sign.jar重签名工具报错ERROR:Cannot run program "D:\sdk\tools\zipalign

    今天在使用这个拖拽到具,把apk文件拖到re-sign.jar运行打开的界面,报错如下: ERROR:Cannot run program "E:\Android sdk\sdk\tools ...

  2. zipalign内存对齐优化

    zipalign:android中SDK下tools文件夹 用来对资源文件的内存进行对齐优化 手工命令: 优化:zipalign -v 4 source.apk destination.apk 4: ...

  3. [Android Memory] Android Zipalign zip对齐优化app程序

    转载地址:http://www.cnblogs.com/xirihanlin/archive/2010/04/12/1710164.html 参考文章:http://www.cnblogs.com/l ...

  4. Error building Player: Win32Exception: ApplicationName=‘xxxxxxxxxxxxxxxxxx//sdk\tools\zipalign.exe' , CommandLine='4 的解决办法

    更新了安卓SDK后,有时候Unity编译失失败,报错类似 Error building Player: Win32Exception: ApplicationName='D:/Program File ...

  5. 使用zipalign.exe工具优化APK安装包

    zipalign.exe是Android自带的一个档案整理工具,它可以用于优化APK安装包,从而提升Android应用与系统之间的交互效率,提升应用程序的运行速度. 操作步骤: 1.在命令行窗口输入如 ...

  6. Android 签名(8)签名前用Zipalign简单优化

    1 为什么要优化 Android SDK中包含一个“zipalign”的工具,它能够对打包的应用程序进行优化.在你的应用程序上运行zipalign,使得在运行时Android与应用程序间的交互更加有效 ...

  7. 使用Zipalign工具优化Android APK应用记录

    生成的Android应用APK文件最好进行优化,因为APK包的本质是一个zip压缩文档,经过优化能使包内未压缩的数据有序的排列,从而减少应用程序运行时的内存消耗.我们可以使用Zipalign工具进行A ...

  8. 【转】更新SDK后,打包APK时报 the zipalign tool was not found in the sdk

    原文网址:http://wyong.blog.51cto.com/1115465/1546632 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任 ...

  9. android 打包 /${zipalign}&quot; error=2, No such file or directory

    当我更新完android L proview之后我的打包出问题了,报错/${zipalign}" error=2, No such file or directory 排查了一下午才知道 近 ...

  10. zipalign 文件路径问题

    在使用zipalign,对Android程序进行打包,有些时候可能提示找不到zipalign ,可以复制一份放在相应的文件夹就行了 windows: 如果缺少zipalign,在网上找到相应的文件放在 ...

随机推荐

  1. iNeuOS 工业互联网 从网关到云端一体化解决方案。教你如何做PPT。

          iNeuOS 专注打造云端操作系统,提供全新解决方案   (凑够150字) 核心组件包括:边缘网关(iNeuLink).设备容器(iNeuKernel).视图建模(iNeuView).机器 ...

  2. 使用python实现http服务器

    主要使用python实现了一个http服务器.http服务器实现了用户的注册和登录的简单功能,当然还可以继续扩展. 数据的存储使用的是文件,有兴趣的话可以使用数据库进行存储.当然根据个人兴趣而定. 本 ...

  3. iOS 日志获取和实时浏览器显示日志

    https://juejin.im/entry/576252855bbb500063e51c7d iOS 日志获取和实时浏览器显示日志

  4. vuex简单使用。

    项目结构: 1:首先在项目中新建store.js文件,.js文件内容如下: import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) ex ...

  5. Ganglia与Centreon整合构建智能化监控报警平台

    一.智能运维监控报警平台的组成 随着大数据时代的来临,运维工作的难度越来越大,每个运维人员都要面临不计其数的服务器和海量的数据,如何保证众多服务器和业务系统稳定高效地运行并尽量减少死机时间,成为考核运 ...

  6. ARTS-S C语言主线程获取子线程返回值

    #include<stdio.h> #include<stdlib.h> #include <pthread.h> typedef struct { int stu ...

  7. 为什么HashMap的加载因子是0.75?

    说在前面 ​ 在HashMap中,默认创建的数组长度是16,也就是哈希桶个数为16,当添加key-value的时候,会先计算出他们的哈希值(h = hash),然后用return h & (l ...

  8. zabbix主动模式无法获取网卡和文件系统数据

    zabbix版本为4.2,根据网上教程将zabbixagent设置成主动模式后,将templates中各Items的type改为Zabbix agent (active),同时将Discovery r ...

  9. 清晰架构(Clean Architecture)的Go微服务: 程序结构

    我使用Go和gRPC创建了一个微服务,并试图找出最佳的程序结构,它可以用作我未来程序的模板. 我有Java背景,并发现自己在Java和Go之间挣扎,它们之间的编程理念完全不同.我写了一系列关于在项目工 ...

  10. 在 VSCode 中 Angular 的字符串报错的问题

    使用 Angular 时,报错 [tslint] " should be ' 报错原因是因为 ESLint 的严格模式,限制了使用 ' ,甚至多一个空格都会报错. 我们只需要在 settin ...