zipaligin的使用介绍

简介: 近来一直在做APK反编译和重编译的工作,针对一些apk需要放入一些相应的文件,(当然这里不涉及非法盈利,都是有合约的),在对一些包打包以后,发现可以通过一个叫做zipalign的工具进行优化,对于这个工具的介绍在谷歌官网有介绍:http://developer.android.com/tools/help/zipalign.html,       对其中我将一部分按照自己的理解翻译出来,如果翻译和理解不到位,还请指正。

      近来一直在做APK反编译和重编译的工作,针对一些apk需要放入一些相应的文件,(当然这里不涉及非法盈利,都是有合约的),在对一些包打包以后,发现可以通过一个叫做zipalign的工具进行优化,对于这个工具的介绍在谷歌官网有介绍:http://developer.android.com/tools/help/zipalign.html,

      对其中我将一部分按照自己的理解翻译出来,如果翻译和理解不到位,还请指正。

      zipalign:是一个用于内容对齐的工具,用来优化android apk文件。它的目的是保证所有未被压缩的文件都有特定的对齐。具体的说来,就是他会让所有未压缩的数据,比如raw中的图片都有按照4bite对齐。这样就会让所有的部分都可以直接使用 MMAP 来直接访问,即使MMAP包含了对于二进制数据的对齐限制。它的好处在运行应用的时候,减少了大量的RAM消耗。(因此可以提高apk运行的速度和效率)

      你应该在把这个文件发给用户之前,使用这个zipalign来进行对齐。你也可以使用android build tools来处理。当你在使用android adt插件的时候,导出向导会自动的帮你zipalign 你使用私钥签名以后的apk文件。同样你也可以使用ant脚本来完成zipalign apk文件,只要你在项目中配置了ant ant.properties  在其中标明 alias,脚本会首先给应用签名。

    警告:

         zipalign必须要在使用私钥签名以后再使用,否则的话,则会导致签名过程会取消对齐效果。同样的不要在完成对齐以后改动文件内容,比如删除某些内容,这些操作可能破坏已经修改的内容以及对齐项,任何已经加到对齐项中的文件都不会被对齐。

    zipalign通过修改在文件开头部分增加一些额外的域,存在于这个额外域的数据可能会被zipalign过程修改。

 

    用法:

          校验是否已经优化处理:

      

zipalign -c -v <alignment> existing.apk

    使用实例:

    

zipalign -c -v 4 result.apk

  

          

 

 

        进行优化处理:

    

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

  使用实例:

     

zipalign -v 4 1.apk result.apk

  其中

zipalign  在大家adt\sdk\tools中就有,无需下载,

     

       

    

     

目录
相关文章
初学算法之---pta fun with numbers
初学算法之---pta fun with numbers
__cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
__cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
100 0
__cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
|
C# Shell
[20170308]bc做xor(异或)计算.txt
[20170308]bc做xor(异或)计算.txt --//工作需要,需要找一个计算器做异或操作.微软的计算器太难用了.我需要行式的计算器. --//google半天,发现如下链接: http://unix.
1390 0
[LeetCode]--119. Pascal&#39;s Triangle II
Given an index k, return the kth row of the Pascal’s triangle. For example, given k = 3, Return [1,3,3,1]. Note: Could you optimize your algorithm to use only O(k) extra space? public
1071 0
[LeetCode]--118. Pascal&#39;s Triangle
Given numRows, generate the first numRows of Pascal’s triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 我是用数组做的,在草稿纸上稍微画一画应该就能找
1361 0
error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMTD.lib(new.obj) 中
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/46284967 ...
1917 0
[LeetCode]118.Pascal's Triangle
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/43562277 题目 G...
929 0