Android Assets文件大小限制

Android Asset Packaging Tool(aapt)使用這個工具可打包所有數據Image XML文件任何資源文件.在生成APK時aapt選擇性的壓縮各種資源來節省設備空間,aapt使用後綴來決定哪個資源需要壓縮,aapt源碼定義一些不需要壓縮的文件後綴。附aapt源碼Package.cpp

 

  在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)以下的文件.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章