zoukankan      html  css  js  c++  java
  • 【android】assert目录下文件的大小限制

        前阵子,在研究如何将exe文件打包到apk文件中,然后当apk升级时将exe文件复制粘贴到其他目录下。但是在粘贴exe文件时,抛出异常Data exceeds UNCOMPRESS_DATA_MAX。查找相关文献后,发现android对资源文件的大小有限制(有些文献说只有android2.3之前的版本才有文件大小的限制?),不超过1M,否则将抛出异常。

        解决的办法有三种:

    1.将你的资源文件后缀改成下面列出的后缀。

      /* these formats are already compressed, or don't compress well */ 
      static const char* kNoCompressExt[] = { 
      ".jpg", ".jpeg", ".png", ".gif", 
      ".wav", ".mp2", ".mp3", ".ogg", ".aac", 
      ".mpg", ".mpeg", ".mid", ".midi", ".smf", ".jet", 
      ".rtttl", ".imy", ".xmf", ".mp4", ".m4a", 
      ".m4v", ".3gp", ".3gpp", ".3g2", ".3gpp2", 
      ".amr", ".awb", ".wma", ".wmv" 
      };

    2.在命令行上使用-0参数来指定不需要压缩的文件后缀。但是如果你是使用Eclipse,目前还不知道有什么方法可以传递-0参数给aapt。

    3.将你的资源文件分割成UNCOMPRESS_DATA_MAX(1M)以下的文件.

        在windows下要下载一个文件分割器,linux下就比较简单

        用split 命令即可

    Linux命令:split

    功能说明:切割文件。  

    语 法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]

    补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件。

    参 数:-<行数>或-l<行数> 指定每多少行就要切成一个小文件。 -b<字节> 指定每多少字就要切成一个小文件。 -C<字节> 与-b参数类似,但切割时尽量维持每行的完整性。 --help 显示帮助。 --version 显示版本信息。 [输出文件名] 设置切割後文件的前置文件名,split会自动在前置文件名後再加上编号。

        例如:split -b 640k  id.db      执行后产生两个文件,xxa,xxb

        如果使用分割文件的办法,可能还需要考虑小文件再合成大文件~

    参考文献:http://byandby.iteye.com/blog/835744

                  http://www.cnblogs.com/stay/articles/1898965.html 

  • 相关阅读:
    虚拟机设置静态ip
    hadoop2.5重新编译问题
    python(2)-函数相关
    python(1)
    python中raw_input输入数字问题
    多线程-AsyncTask
    Handler消息处理机制
    01-Java多线程
    01.JS基本语法-数据类型和变量
    (4)RecyclerVIew
  • 原文地址:https://www.cnblogs.com/Amandaliu/p/2149803.html
Copyright © 2011-2022 走看看