Ich versuche, das Android Jobb-Tool , um eine große OBB-Datei für meine Anwendung zu erstellen, aber ich bin geplagt von der" FAT Full "IOException:
%Vor%In der obigen Fehlermeldung wird XXXX immer als genau ein ganzzahliger Wert kleiner als YYYY gedruckt und stellt die Anzahl der verwendbaren "Cluster" dar (ich bin es nicht versiert genug im Speicherjargon, um genau zu wissen, was das bedeutet). YYYY stellt den letzten erfolgreich zugewiesenen Cluster-Index dar, der nach meiner Erfahrung immer derselbe wie der letzte verwendbare Cluster-Index ist (das Array hat die Größe XXXX + 2, also ist XXXX + 1 derselbe wie YYYY der letzte verwendbare Index).
Der Absturz scheint an dem Punkt zu erscheinen, an dem die Gesamtdateigröße 511 MB überschreitet (das tatsächliche Limit ist 536.193.820 Bytes , ein einziges Byte mehr verursacht den Überlauf! ), also LAST_PROCESSED_FILE ist ziemlich willkürlich, aber es listet die Datei auf, die verarbeitet wurde, als der Absturz auftrat. Da das Speicherformat FAT16 ist (von dem, was mir gesagt wurde), sollte die maximale Dateigröße dann nicht 2 GB betragen?
Ich habe durch verschiedene Quellen gelesen, dass leere oder kleine Verzeichnisse oder Dateien, kleine Dateigröße oder einzelne Dateien innerhalb des Verzeichnisses über 500 MB diesen Absturz verursachen können (obwohl ich den Grund nicht feststellen konnte). Keiner dieser Gründe trifft auf meinen Fall zu (der wiederum auf der gesamten Dateigröße basiert).
Meine eigene Rezension des jobb-Tools Quelle hat keine Einsicht geliefert. Kann jemand bitte Licht in dieses Thema bringen?
Es stellt sich heraus, dass viele Probleme mit dem Jobb-Tool mit der verwendeten FAT-Dateisystembibliothek zusammenhängen, die die maximale Größe einer FAT16-Speichereinheit fälschlicherweise als & lt; 512 MB (in Wirklichkeit sollten es 2 GB sein).
Durch das Ändern der FAT-Bibliothek bin ich in der Lage, erfolgreich OBB-Dateien über 512 MB mit dem Jobb-Tool zu erstellen. Dies ist auch relevant für den Grund, warum OBB-Dateien unter 4 MB ungültig sind. Die Quelle des Jobb-Tools sollte ebenfalls aktualisiert werden, da das erwartete Dateisystem immer FAT16 sein sollte. Kleine Einheiten sollten in Ordnung sein, und es sollte nur ein Problem darstellen, wenn mehr als 2 GB Daten vorhanden sind.
Ich werde dies als einen Fehler in der FAT-Bibliothek und ein Problem im Jobb-Tool melden.
Bearbeiten: Die geänderten Quelldateien und ein GUI-Tool sind auf meinem GitHub ( obwohl, leider, ich nicht eine korrekte Versionsgeschichte der Änderungen behalten habe).
Tags und Links android ioexception