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中就有,无需下载,

     

       

    

     

目录
相关文章
|
Python
ZZULIOJ-1011,圆柱体表面积(Python)
ZZULIOJ-1011,圆柱体表面积(Python)
|
Python
ZZULIOJ-1010,求圆的周长和面积(Python)
ZZULIOJ-1010,求圆的周长和面积(Python)
ZZULIOJ-1011,圆柱体表面积(Java)
ZZULIOJ-1011,圆柱体表面积(Java)
|
前端开发
[math skill]Permutation Test 置换检验
显著性检验通常可以告诉我们一个观测值是否是有效的,例如检测两组样本均值差异的假设检验可以告诉我们这两组样本的均值是否相等(或者那个均值更大)。
1801 0
|
关系型数据库 Oracle
[20170703]ora-00600[kkpamDGSPam2].txt
[20170703]ora-00600[kkpamDGSPam2].txt --//oracle 分区数量不能超过1048575.做一个例子说明: --//2^20-1=1048575 SCOTT@test01p> @ ver1 PORT_STRING   ...
1074 0
|
索引
素数 + 背包 - SGU 116. Index of super-prime
Index of super-prime Problem's Link   Mean:  如果一个素数所在的位置还是素数,那么这个素数就是超级素数,比如3在第2位置,那么3就是超级素数.
1245 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 ...
1835 0

热门文章

最新文章