Trong một phần của việc chuẩn bị cho file APK, aapt sẽ nén các file trong assest để tiết kệm không gian cho thiết bị. Aapt sẽ quyết định nén hay không dựa trên phần đuổi của file. Mãng sau là danh sách các phần đuôi file mặc định là không được nén :
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" };
Trên điện thoại hệ điều hành 2.2/2.3 các file lớn hơn 1M APK không đọc được, nói đúng ra thì nó không chịu đọc. Thông thường các bạn hay đặt phần đuôi mở rộng của file dữ liệu là , ví dụ : test.db , test.sqlite ... những loại đuôi file này sẽ được kiểm tra kích cở ( size ) trước khi APK đọc và lấy nó, và được nhiên nếu file đó lớn hơn 1M thì xin thưa nó không chịu đọc. Để khắc phục điều này trên phiên bản 2.2/2.3 Android thì chúng ta nên đặt lại tên file được liệt kê như mãng kNoCompressExt[] trên : test.mid chẳng hạn.OK, vậy là ta đã giải quyết được vấn đề.
No comments:
Post a Comment