5

I tried to compile videos with jobb library the problem is jobb crash with videos larger in size than 500 MB, below is some information about this issue:

java.io.IOException: FAT Full (459872, 459873)
    at de.waldheinz.fs.fat.Fat.allocNew(Fat.java:298)
    at de.waldheinz.fs.fat.Fat.allocAppend(Fat.java:376)
    at de.waldheinz.fs.fat.ClusterChain.setChainLength(ClusterChain.java:175)
    at de.waldheinz.fs.fat.ClusterChain.setSize(ClusterChain.java:132)
    at de.waldheinz.fs.fat.FatFile.setLength(FatFile.java:91)
    at de.waldheinz.fs.fat.FatFile.write(FatFile.java:154)
    at com.android.jobb.Main$1.processFile(Main.java:495)
    at com.android.jobb.Main.processAllFiles(Main.java:604)
    at com.android.jobb.Main.processAllFiles(Main.java:600)
    at com.android.jobb.Main.main(Main.java:417)
Exception in thread "main" java.lang.RuntimeException: Error getting/writing file with name: videos.zip
    at com.android.jobb.Main$1.processFile(Main.java:501)
    at com.android.jobb.Main.processAllFiles(Main.java:604)
    at com.android.jobb.Main.processAllFiles(Main.java:600)
    at com.android.jobb.Main.main(Main.java:417)
4

2 回答 2

1

file with name: videos.zip- 首先,您不必使用 zip。您可以使用 zip 存档作为扩展文件本身,而无需将其打包在 .obb 文件中。但是使用 zip 文件可能会降低您的应用程序的速度。

或者你可以把你的文件放在某个目录中(例如,“tmp”),然后调用类似的东西:jobb -d D:\tmp -o D:\main.com.example.1.obb -pn com.example -pv 1. 如果您的每个文件都小于 500 MB,那么一切都应该没问题。但如果不是 - 我想,您将不得不考虑另一种解决方案:也许,压缩大视频文件以使其大小小于 500 MB。

PS 为了处理 .obb 文件,我创建了这个帮助程序,您可能会发现它很有用。

于 2013-04-06T09:18:17.853 回答
1

由于 OBB 文件是在 FAT16 文件系统上构建的,因此最大总大小为 2 GB。这可以由单个文件使用,也可以由数百个文件组成。请注意,FAT16 仅允许在根目录中最多包含 512 个文件,因此如果您的文件多于该文件,则需要将它们放在 OBB 文件内的单独文件夹中。

Lem 叔叔是对的,使用 ZIP 存档实际上可能会使您访问文件的速度变慢。除非您绝对需要压缩(ZIP 压缩是否非常好?),否则我建议不要将文件放入 ZIP 存档中。jobb 工具旨在从目录的内容(包括子目录,保留目录结构)中创建有效的 OBB 文件。

您的错误的原因是 jobb 工具源和它使用的 FAT 库中的问题。我在这里写了更详细的细节,但基本上是该工具认为 FAT16 最多只允许 512 MB,而实际上它最多允许 2 GB。修复该工具后,您将能够使用它来创建更大的 OBB 文件。同时,可以创建一个自定义构建来修复它。我稍后打算发布我个人构建的工具。

SuperFloppyFormatter 为超过 512 MB 的任何内容返回 FAT32?

https://code.google.com/p/android/issues/detail?id=60294

于 2013-09-21T08:06:17.263 回答