Wenn ich eine große Zip-Datei (250 MB) über die ZipFile-Klasse öffne und versuche, die Einträge zu lesen. Dies funktioniert gut auf 2.x im Emulator und echte Hardware. Wenn ich den genauen Code auf meinem Tablet (Asus Transformer unter 4.0.3) oder dem Emulator (3.2) verwende, kann ich keine Einträge lesen. Die size() -Funktion der ZipFile-Klasse gibt immer Null zurück und ZipFile gibt keine zip-Einträge zurück. Selbst die Zip-App, die mit dem ROM auf meinem Tablet geliefert wird, kann keine Einträge lesen. Die Zip-Datei ist nicht beschädigt. Ich habe nachgeschaut.Android 3.x + Java ZipFile-Klasse - Kann ZipEntries nicht aus großen Dateien lesen
Der Code zum Lesen von ZipFile funktioniert auf allen Versionen mit kleineren Zip-Dateien. Was hat sich zwischen 2.x und 3.x/4.x geändert?
Meine Testdatei ist die C64Music.zip aus der HighVoltage Sid Collection. Es enthält über 40.000 Dateien und ist ca. 250MB.
Ich habe keine Ahnung, wo ich hinschauen soll.
Haben Sie versucht, andere Zip-Dateien auf Ihrem Asus oder Emulator mit 3.x/4.x zu lesen? Ist das Problem nur mit dieser Zip-Datei? –
Schluckst du irgendwelche Ausnahmen? Wenn nicht, gibt getName() den Namen der ZIP-Datei zurück? (Einfacher Test, könnte aber etwas Überraschendes ergeben). Erhalten Sie andere Ergebnisse, wenn Sie den Reißverschluss mit oder ohne das OPEN_READ-Flag öffnen? –
Ich bin mir nicht sicher, könnten Sie versuchen, mit 'JarFile'? ... –