Низкоуровневое чтение Android с SD-карты объемом более 2 ГБ

Мое приложение для Android пытается прочитать физические сектора SD-карты, обращаясь к реальному устройству (в моем случае /dev/block/vold/179:1). (конечно, это на рутированном телефоне)

Я могу открыть устройство как FileInputStream и прочитать с него данные. Однако я не могу прочитать его дальше отметки 2 ГБ (у меня карта памяти 16 ГБ).

Это потому, что Android не поддерживает файлы размером более 2 ГБ? Если это так, то почему такие функции, как position() и skip() принимают аргументы long??

Кто-нибудь может посоветовать, как читать с устройства больше 2 Гб?

8
задан Dmitry Brant 6 March 2012 в 02:26
поделиться