我正在尝试在包含192个jpg文件(共约70 mb)的目录上使用JOBB工具。当我运行命令时,jobb -d C:/sdk/tools/dir/data -k 123456 -o com.nick.app.obb -pn com.nick.app -pv 1它会产生以下日志:
jobb -d C:/sdk/tools/dir/data -k 123456 -o com.nick.app.obb -pn com.nick.app -pv 1
Slop: 0 Directory Overhead: 0 Slop: 189853 Directory Overhead: 24704 Partial Sector [32] writing to sector: 277 Partial Sector [32] writing to sector: 277 Partial Sector [32] writing to sector: 277 Partial Sector [299] writing to sector: 897 Partial Sector [416] writing to sector: 1733 Partial Sector [148] writing to sector: 2385 Partial Sector [95] writing to sector: 3013 Partial Sector [498] writing to sector: 3573 Partial Sector [146] writing to sector: 4061 Partial Sector [427] writing to sector: 4581 Partial Sector [204] writing to sector: 5213 Partial Sector [115] writing to sector: 5769 Partial Sector [69] writing to sector: 6481 Partial Sector [79] writing to sector: 7077 Partial Sector [346] writing to sector: 7661 Partial Sector [93] writing to sector: 8213 Partial Sector [120] writing to sector: 8857 Partial Sector [423] writing to sector: 9461 Partial Sector [4] writing to sector: 10149 Partial Sector [184] writing to sector: 11065 Partial Sector [479] writing to sector: 11921 Partial Sector [83] writing to sector: 12569 Partial Sector [358] writing to sector: 13241 Partial Sector [378] writing to sector: 14009 Partial Sector [366] writing to sector: 14669 Partial Sector [393] writing to sector: 15677 Partial Sector [323] writing to sector: 16385 Partial Sector [236] writing to sector: 16989 Partial Sector [233] writing to sector: 17645 Partial Sector [503] writing to sector: 18345 Partial Sector [348] writing to sector: 19017 Partial Sector [473] writing to sector: 19721 Partial Sector [192] writing to sector: 20345 Partial Sector [398] writing to sector: 20805 Partial Sector [67] writing to sector: 21617 Partial Sector [3] writing to sector: 22437 Partial Sector [315] writing to sector: 23489 Partial Sector [161] writing to sector: 24045 Partial Sector [421] writing to sector: 24569 Partial Sector [465] writing to sector: 25557 Partial Sector [164] writing to sector: 26485 Partial Sector [458] writing to sector: 27177 Partial Sector [412] writing to sector: 28153 Partial Sector [1] writing to sector: 28633 Partial Sector [119] writing to sector: 29441 Partial Sector [367] writing to sector: 30413 Partial Sector [274] writing to sector: 31397 Partial Sector [325] writing to sector: 32369 Partial Sector [355] writing to sector: 33361 Partial Sector [187] writing to sector: 34025 Partial Sector [136] writing to sector: 34829 Partial Sector [157] writing to sector: 35873 Partial Sector [175] writing to sector: 36733 Partial Sector [106] writing to sector: 37673 Partial Sector [79] writing to sector: 38593 Partial Sector [379] writing to sector: 39545 Partial Sector [296] writing to sector: 40517 Partial Sector [440] writing to sector: 41205 Partial Sector [277] writing to sector: 41985 Partial Sector [153] writing to sector: 42609 Partial Sector [484] writing to sector: 43385 Partial Sector [363] writing to sector: 44329 Partial Sector [510] writing to sector: 45097 Partial Sector [296] writing to sector: 46101 Partial Sector [314] writing to sector: 47081 Partial Sector [244] writing to sector: 48073 Partial Sector [187] writing to sector: 48825 Partial Sector [253] writing to sector: 49825 Partial Sector [374] writing to sector: 50833 Partial Sector [508] writing to sector: 51777 Partial Sector [26] writing to sector: 52517 Partial Sector [192] writing to sector: 53385 Partial Sector [137] writing to sector: 54209 Partial Sector [312] writing to sector: 55029 Partial Sector [145] writing to sector: 55829 Partial Sector [394] writing to sector: 56517 Partial Sector [150] writing to sector: 57317 Partial Sector [81] writing to sector: 58197 Partial Sector [198] writing to sector: 59101 Partial Sector [358] writing to sector: 59929 Partial Sector [397] writing to sector: 60729 Partial Sector [142] writing to sector: 61209 Partial Sector [148] writing to sector: 62193 Partial Sector [365] writing to sector: 62833 Partial Sector [93] writing to sector: 63293 Partial Sector [450] writing to sector: 63701 Partial Sector [10] writing to sector: 64485 Partial Sector [354] writing to sector: 64969 Partial Sector [174] writing to sector: 65441 Partial Sector [435] writing to sector: 65961 Partial Sector [64] writing to sector: 66553 Partial Sector [41] writing to sector: 67053 Partial Sector [463] writing to sector: 67489 Partial Sector [177] writing to sector: 68041 Partial Sector [403] writing to sector: 68509 Partial Sector [479] writing to sector: 69305 Partial Sector [248] writing to sector: 69761 Partial Sector [331] writing to sector: 70245 Partial Sector [361] writing to sector: 70745 Partial Sector [56] writing to sector: 71281 Partial Sector [301] writing to sector: 71805 Partial Sector [253] writing to sector: 72629 Partial Sector [461] writing to sector: 73041 Partial Sector [304] writing to sector: 73561 Partial Sector [218] writing to sector: 74105 Partial Sector [147] writing to sector: 74765 Partial Sector [303] writing to sector: 75365 Partial Sector [410] writing to sector: 76321 Partial Sector [280] writing to sector: 77137 Partial Sector [484] writing to sector: 77697 Partial Sector [344] writing to sector: 78465 Partial Sector [189] writing to sector: 79001 Partial Sector [126] writing to sector: 79413 Partial Sector [262] writing to sector: 79929 Partial Sector [187] writing to sector: 80317 Partial Sector [465] writing to sector: 80869 Partial Sector [350] writing to sector: 81313 Partial Sector [236] writing to sector: 81793 Partial Sector [98] writing to sector: 82333 Partial Sector [223] writing to sector: 83209 Partial Sector [1] writing to sector: 83593 Partial Sector [51] writing to sector: 84577 Partial Sector [340] writing to sector: 84993 Partial Sector [377] writing to sector: 85961 Partial Sector [232] writing to sector: 86829 Partial Sector [229] writing to sector: 87253 Partial Sector [337] writing to sector: 88225 Partial Sector [205] writing to sector: 89285 Partial Sector [353] writing to sector: 90089 Partial Sector [289] writing to sector: 90921 Partial Sector [369] writing to sector: 91969 Partial Sector [283] writing to sector: 92741 Partial Sector [267] writing to sector: 93553 Partial Sector [313] writing to sector: 94049 Partial Sector [363] writing to sector: 94521 Partial Sector [415] writing to sector: 95245 Partial Sector [181] writing to sector: 96269 Partial Sector [420] writing to sector: 96733 Partial Sector [251] writing to sector: 97733 Partial Sector [244] writing to sector: 98221 Partial Sector [406] writing to sector: 98669 Partial Sector [226] writing to sector: 99069 Partial Sector [363] writing to sector: 100045 Partial Sector [133] writing to sector: 100769 Partial Sector [461] writing to sector: 101209 Partial Sector [329] writing to sector: 102337 Partial Sector [495] writing to sector: 103201 Partial Sector [452] writing to sector: 104045 Partial Sector [97] writing to sector: 105153 Partial Sector [236] writing to sector: 106177 Partial Sector [10] writing to sector: 106645 Partial Sector [292] writing to sector: 107725 Partial Sector [36] writing to sector: 108725 Partial Sector [500] writing to sector: 109793 Partial Sector [441] writing to sector: 110681 Partial Sector [128] writing to sector: 111329 Partial Sector [293] writing to sector: 112277 Partial Sector [382] writing to sector: 112737 Partial Sector [493] writing to sector: 113229 Partial Sector [256] writing to sector: 113653 Partial Sector [20] writing to sector: 114893 Partial Sector [351] writing to sector: 115905 Partial Sector [110] writing to sector: 116913 Partial Sector [322] writing to sector: 118041 Partial Sector [156] writing to sector: 118589 Partial Sector [232] writing to sector: 119013 Partial Sector [331] writing to sector: 119533 Partial Sector [297] writing to sector: 120509 Partial Sector [310] writing to sector: 121549 Partial Sector [392] writing to sector: 122545 Partial Sector [285] writing to sector: 123485 Partial Sector [108] writing to sector: 124065 de.waldheinz.fs.fat.DirectoryFullException: directory is full at de.waldheinz.fs.fat.Fat16RootDirectory.changeSize(Fat16RootDirectory.java:109) at de.waldheinz.fs.fat.AbstractDirectory.addEntries(AbstractDirectory.java:282) at de.waldheinz.fs.fat.FatLfnDirectory.addFile(FatLfnDirectory.java:139) at com.android.jobb.Main$1.processFile(Main.java:475) 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 adding file with name: img178.jpg at com.android.jobb.Main$1.processFile(Main.java:478) 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)
有什么建议吗?
de.waldheinz.fs.fat.DirectoryFullException: directory is full
当Fat16RootDirectory becomes full或ClusterChainDirectory grows beyond it's ClusterChainDirectory's maximum size(512 MB)
Fat16RootDirectory becomes full
ClusterChainDirectory grows beyond it's ClusterChainDirectory's maximum size(512 MB)
异常发生在哪里? :DirectoryFullException.java
DirectoryFullException(int currentCapacity, int requestedCapacity) { this("directory is full", currentCapacity, requestedCapacity); }
对于这个问题,我希望有一个解决方案和一些建议。 希望对您有帮助。
在Windows上:如果您的文件夹“数据”丢失图片,并复制到android sdk-tools目录
data/1.jpg data/2.jpg data/3.jpg data/... data/5000.jpg
而你用
console>>>jobb -d C:/sdk/tools/dir/data -k 123456 -o com.nick.app.obb -pn com.nick.app -pv 1
您将得到提到的错误。尝试添加一个目录层次结构并将“数据”目录创建到子文件夹
root/data/1.jpg root/data/2.jpg root/data/3.jpg root/data/... root/data/5000.jpg
用
console>>>jobb -d C:/sdk/tools/dir/root/data -k 123456 -o com.nick.app.obb -pn com.nick.app -pv 1
您必须牢记,如果以后要阅读Obb,则图片现在位于子文件夹中。
要检查sector/cluster/FAT尺寸,请运行"jobb -v -dump [obb]"。这将打印出包括"Sectors per cluster"和的信息"Sectors per FAT"。
sector/cluster/FAT
"jobb -v -dump [obb]"
"Sectors per cluster"
"Sectors per FAT"
在我的旧.obb文件中,这些值分别为8和150。8不是150的因数,所以我可能一直在遇到上述内核错误。
您需要确保您使用的是更新版本jobb.jar 并 fat32lib.jar解决该问题。使用Google云端硬盘上的当前库版本,我现在每个群集获得8个扇区,每个FAT获得184个扇区。
jobb.jar
fat32lib.jar
我尚未验证这是否可以解决我之前看到的数据损坏问题。我将进行更多测试,并在此处报告。
黑客攻击可以解决问题。但是占用了更多的内存:
这个问题的确开始变得非常无聊。今天,我有点想出了一个解决办法,这很荒谬,但是看起来好像向.obb添加额外数据似乎可以解决问题(至少对我而言)。确切地说,我的原始.obb文件大小为110MB,现在为220MB,应用程序读取数据时不会损坏。到目前为止,这是我迄今为止对应用程序所做的最肮脏的黑客攻击,对此我并不感到骄傲,但是,至少现在正在运行。:p
2015年10月19日,他们发布了更新版本:android-sdk- fat32lib
该版本解决了与Android SDK一起发布的JOBB工具的问题,因为该工具(Android SDK 23)无法生成大于512M的OBB文件。
(Android SDK 23)
您将在以下部分中获得原始版本和修改版本的 源代码 :