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
[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
1069 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] ] 我是用数组做的,在草稿纸上稍微画一画应该就能找
1359 0
|
Python
leetcode 生成杨辉三角形, 118 119 Pascal&#39;s Triangle 1,2
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], ...
1139 0