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