博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 常见问题之Assets文件大小限制
阅读量:6607 次
发布时间:2019-06-24

本文共 962 字,大约阅读时间需要 3 分钟。

hot3.png

Android Asset Packaging Tool(aapt)使用这个工具可打包所有数据 Image XML文件 任何资源文件.在生成APK时aapt选择性的压缩各种资源来节省设备空间,aapt使用后缀来决定哪个资源需要压缩,aapt源码定义一些不需要压缩的文件后缀。

[cpp] view plaincopyprint?/* 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"    };
在Android 2.3以前的任何压缩的资源的原始大小超过1M将不能从APK中读出,如果你使用AssetManager 或 Resources classes方法来获取InputStream,将抛出java.io.IOException的异常如下     DEBUG/asset(1123): Data exceeds UNCOMPRESS_DATA_MAX (20078432 vs 1048576);

      可以看到如果需要打包数据库的童鞋文件过大就需要注意了。

解决方法如下:

1.将你的资源文件后缀改成上面列出的后缀。
2.在命令行上使用-0参数来指定不需要压缩的文件后缀。当你使用Eclipse内的ADT目前还不知道有什么方法可以传递-0参数给aapt。
3.将你的资源文件分割成UNCOMPRESS_DATA_MAX(1M)以下的文件.

转载于:https://my.oschina.net/lyfengzi/blog/113424

你可能感兴趣的文章
Redux:异步操作
查看>>
Mysql学习第三课-分析二进制日志进行增量备份和还原
查看>>
2-11
查看>>
Appium IOS
查看>>
POJ1961 Period [KMP应用]
查看>>
CSS hack
查看>>
IT项目管理工具探讨之_项目群管理
查看>>
如何在 Android 手机上安装 Ubuntu 13.04
查看>>
HDU 6073 - Matching In Multiplication | 2017 Multi-University Training Contest 4
查看>>
编程面试过程中常见的10大算法(转)
查看>>
centos6.5 安装nginx
查看>>
生成若干个不重复的随机数数组
查看>>
topcoder srm 465 div1
查看>>
C语言 scanf()和gets()函数的区别
查看>>
如何检测域名是否被微信屏蔽 微信域名检测接口API是如何实现
查看>>
POJ1611-The Suspects
查看>>
ROS学习之ShadowRepository
查看>>
Spring 中 ApplicationContext 和 BeanFactory 的区别
查看>>
3.28Day09函数
查看>>
Linux Makefile 生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明【转】
查看>>