`
iaiai
  • 浏览: 2196702 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 常见问题之Assets文件大小限制

 
阅读更多
       Android Asset Packaging Tool(aapt)使用这个工具可打包所有数据 Image XML文件 任何资源文件.在生成APK时aapt选择性的压缩各种资源来节省设备空间,aapt使用后缀来决定哪个资源需要压缩,aapt源码定义一些不需要压缩的文件后缀。
/* 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)以下的文件.
分享到:
评论

相关推荐

    Android面试常问问题

    1. **文件大小限制**: - `assets`目录主要用于存放各种资源文件,理论上没有单个文件大小的限制。 - 文件的总大小受到APK大小限制的影响(通常是50MB),但这并不意味着单个文件大小有明确的上限。 - 通常情况下...

    android中嵌入本地html

    `assets`目录下的文件可以通过`file:///android_asset/`路径访问,而`res/raw`目录下的文件则使用`file:///android_res/raw/`路径。例如,如果HTML文件在`assets`目录,加载方式如下: ```java webView.loadUrl(...

    Android常见知识点总结

    ### Android常见知识点总结 #### 1. Android的四大组件及其作用 - **Activity**:Activity是Android应用程序中负责用户界面展示的基本单位。每个Activity都表示一个屏幕上的界面,并且能够与用户进行交互。...

    【Android解决方案】连接SQL

    注意,由于Android对库大小的限制,直接在应用中包含JTDS可能使APK体积过大。为解决这个问题,可以考虑使用DexGuard或Proguard进行代码混淆和优化,减少库的大小。同时,还可以考虑使用云数据库服务,如Firebase ...

    android导入第三方字库

    1. Android系统对字体文件大小有限制,过大可能造成应用启动慢或内存问题,尽量选择轻量级的字体。 2. 在不同Android版本和设备上,自定义字体的效果可能有所不同,确保在多平台上测试。 3. 自定义字体可能会导致...

    Android 工程内嵌资源文件的两种方法

    在Android应用开发中,内嵌资源文件是常见的需求,这主要涉及到如何将应用程序需要的数据、配置文件、...在实际开发中,开发者应根据项目需求和文件大小选择合适的方法,同时注意Android不同版本可能存在的兼容性问题。

    面试总结android

    - **文件大小限制**:单个`SharedPreferences`文件的大小不能超过40KB。如果需要存储更大的数据量,可以考虑使用其他存储方式,如SQLite数据库。 ### 六、Assets资源目录 - **用途**:`assets`目录用于存放原始...

    总结复习 android存储方式2-键值对java Properties

    在Android中,我们可能从assets或raw资源目录加载属性文件。 ```java InputStream is = context.getAssets().open("config.properties"); props.load(is); is.close(); ``` 3. **存储属性** - 使用`store()`方法将...

    Android显示动态图

    本主题主要探讨如何在Android应用中显示GIF格式的动态图片,这是动态图最常见的形式之一。GIF(Graphics Interchange Format)是一种支持动画和透明度的位图格式,广泛用于网页和移动应用中。 在Android中,显示GIF...

    Android 获取图片资源的4种方式

    与src目录类似,assets目录下的资源也会被包含在APK文件中,但是相比于src目录,assets目录的灵活性更高,支持任意类型的文件,并且不会像src目录那样受到编译器的限制。 ### 总结 通过以上介绍可以看出,在...

    分页_分页_android_

    `bin`目录包含编译后的类文件和资源,`res`存储应用的资源文件,`assets`用于放置自定义的非结构化数据,而`gen`目录则是自动生成的Java源代码,通常包含R类,它是Android资源的ID集合。 综上所述,这个项目涉及到...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    android基础知识

    7. Android项目文件夹分类包括:src存放源代码,gen存储自动生成的代码,project.properties用于指定SDK版本,assets存放未处理的资产文件,resource目录下放置所有资源,会生成R.java文件,方便引用。 8. Android...

    基于eclipse的android-gif-drawable实现小demo

    在Android应用开发中,展示动态图像是一个常见的需求,尤其是GIF格式的图像,它能够带来生动有趣的用户体验。本文将详细介绍如何在Eclipse环境中利用`android-gif-drawable`库来实现GIF图片的加载与显示。我们将通过...

    Android XML数据的三种解析方式

    总结起来,Android中的XML解析选择取决于具体需求,如文件大小、内存限制、数据处理的复杂性等。DOM解析适合小规模数据且需要完整树形结构的情况;SAX和Pull解析适用于大规模数据,其中SAX提供更多的自定义事件处理...

    Android 仿照QQ剪裁头

    项目文件列表中的`.project`、`project.properties`、`src`、`AndroidManifest.xml`、`res`、`.settings`、`assets`、`gen`、`libs`和`.classpath`是Android项目的常见文件结构,分别对应项目配置、构建属性、源代码...

    android手游屏幕自适应开发思路

    - 优点是效果最佳,但会增加 APK 文件大小,并且耗时较长。 2. **单套资源法**: - 只需准备一套资源,通常是 hdpi 或 mdpi。 - 在代码中通过屏幕密度比进行缩放。 - 中间文件需要放置在相应的 raw 目录中,以...

    android 书籍阅读器源码

    - `assets` 目录:通常存储书籍资源,如EPUB或PDF文件。 - `res` 目录:包含界面布局、图标、颜色等资源。 - `src` 目录:Java代码,主要包含书籍解析、界面渲染、用户交互逻辑。 2. **书籍解析** - EPUB解析:...

Global site tag (gtag.js) - Google Analytics