2013年4月15日月曜日

assetsフォルダには1MB以上の非圧縮ファイルを設置できない

Androidでファイルを設置する場合にassetsフォルダを使用することがありますが、このフォルダにはファイルの容量制限があります。

この容量を超えたものをインストールしようとすると、次のようなエラーが出ることがあります。
W/ResourceType(11947): Unable to get buffer of resource asset file

またインストールできたとしても、実行時に次のようなエラーが出て突如アプリが閉じます。
D/asset ( 300): Data exceeds UNCOMPRESS_DATA_MAX (1353552 vs 1048576)

この容量はOSの次のファイルの『UNCOMPRESS_DATA_MAX』の値で制限されています。
frameworks/base/include/utils/asset.h
#ifdef HAVE_ANDROID_OS
UNCOMPRESS_DATA_MAX = 1 * 1024 * 1024
#else
UNCOMPRESS_DATA_MAX = 2 * 1024 * 1024

0 件のコメント:

コメントを投稿