L'applicazione Android tenta di leggere i settori fisici della scheda SD accedendo al dispositivo effettivo (nel mio caso,/dev/block/vold/179: 1). (questo è su un telefono rooted, ovviamente)Lettura a basso livello Android di scheda SD superiore a 2 GB
Sono in grado di aprire il dispositivo come FileInputStream
e leggere i dati da esso. Tuttavia, non riesco a leggere oltre il marchio da 2 GB (la mia scheda di memoria è 16 GB).
È perché Android non supporta file superiori a 2 GB? Se questo è il caso, perché funzioni come position()
e skip()
accettano argomenti long
??
Qualcuno ha consigli su come leggere dal dispositivo oltre 2 GB?
Sembra che questo comportamento si verifica solo in Android precedenti alla 3.0. Ho provato a eseguire la mia applicazione su un tablet (3.1), e in effetti posso leggere la scheda SD (oltre alla memoria interna) oltre 2 GB ... –
Questo è corretto, qualsiasi cosa prima del favo limiti a 2 GB perché le operazioni di I/O utilizzano lseek invece di lseek64. Puoi controllare il problema all'indirizzo http://code.google.com/p/android/issues/detail?id=21696. – Matt