JOBB DirectoryFullException:de.waldheinz.fs.fat.DirectoryFullException:目录已满 [英] JOBB DirectoryFullException: de.waldheinz.fs.fat.DirectoryFullException: directory is full

查看:74
本文介绍了JOBB DirectoryFullException:de.waldheinz.fs.fat.DirectoryFullException:目录已满的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在包含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 运行命令时,它会生成下面的日志:

I'm trying to use the JOBB tool on a directory containing 192 jpg files totaling about 70 mb. When I run the command as jobb -d C:/sdk/tools/dir/data -k 123456 -o com.nick.app.obb -pn com.nick.app -pv 1 it produces the below log:

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变满 ClusterChainDirectory超出其ClusterChainDirectory的最大大小(512 MB)

异常发生在哪里?:

Exception occurs from where? : DirectoryFullException.java

DirectoryFullException(int currentCapacity, int requestedCapacity) {
    this("directory is full", currentCapacity, requestedCapacity);
}


对于这个问题,我希望有一个解决方案和一些建议.希望对您有帮助.

在Windows上:如果您的文件夹数据"丢失了图片,并复制到android sdk-tools目录

On Windows: if you have a folder "data" whith lost of pictures, and copied to the android sdk-tools directory

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

您将收到所提到的错误.尝试添加一个目录层次结构,并将数据"目录创建到一个子文件夹

you will get the mentioned error. Try to add one directory-hierarchy and make the "data"-directory to a subfolder

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,则图片现在位于子文件夹中.

you have to keep in mind, that if you want to read from the obb later, that the pictures are now in a subfolder.

  1. 在Android中使用Jobb工具
  2. 什么原因导致jobb工具抛出FAT Full IOException?/a>


建议1:

要检查 sector/cluster/FAT 的大小,请运行"jobb -v -dump [obb]" .这将打印一堆信息,包括每个群集的扇区" 每个FAT的扇区" .


Suggestion-1:

To check the sector/cluster/FAT sizes, run "jobb -v -dump [obb]". That will print a bunch of info including "Sectors per cluster" and "Sectors per FAT".

在我的旧.obb文件中,这些值分别为8和150.8不是150的因数,所以我可能一直在遇到上述内核错误.

In my old .obb, those values were 8 and 150 respectively. 8 isn't a factor of 150 so I may have been hitting the kernel bug described above.

您需要确保使用更新的 jobb.jar fat32lib.jar 来解决此问题.使用Google云端硬盘上的当前库版本,我现在每个群集有8个扇区,每个FAT有184个扇区.

You need to make sure you're using the updated jobb.jar and fat32lib.jar to fix that problem. With the current versions of the libraries on Google Drive, I now get 8 sectors per cluster, 184 sectors per FAT.

我尚未验证这是否可以解决我之前看到的数据损坏问题.我将进行更多测试,并在此处报告.

I have not yet verified whether this fixes the data corruption problems I was seeing earlier. I'll do more testing and report back here.

黑客可以解决问题.但是占用了更多内存:

Hacking can solve the issue. But took more memory:

这个问题确实开始变得非常无聊.今天,我有点想出了一个解决办法,这很荒谬,但是看起来好像向.obb添加额外数据似乎可以解决问题(至少对我而言).确切地说,我的原始.obb文件大小为110MB,现在为220MB,应用程序读取数据时不会损坏.到目前为止,这是我迄今为止对应用程序所做的最肮脏的黑客攻击,对此我并不感到骄傲,但是,至少现在正在运行.:p

This issue is indeed starting to be very very boring. Today I kind of figured out a workaround to this, it's ridiculous, but it looks like adding extra-data to the .obb seems to fix the issue (at least for me). To be precise, my original .obb file size was 110MB, now it's 220MB and the app reads the data without corruption. This is, by far, the dirtiest hack I have ever done to an app and I don't feel proud of it, but hey, at least is working now. :p

2015年10月19日,他们发布了更新版本: android-sdk-fat32lib

In Oct 19, 2015, they have release an updated version: android-sdk-fat32lib

此版本分叉以解决自(Android SDK 23)起随Android SDK分发的JOBB工具的问题,该工具无法生成大于512M的OBB文件.

This version forked to solve an issue with the JOBB tool distributed with the Android SDK as of (Android SDK 23) not able to produce OBB files larger than 512M.

您将在以下部分中获得原始版本和修改版本源代码:

You will get original version and modified versions source code in the following portion:

要从源代码制作jar文件,您可以按照以下教程进行操作:

For making jar file from source code, you can follow the tutorials:

  1. 如何创建带有gradle的Android Library Jar,而没有公开透露源代码?
  2. Gradle –创建具有依赖性的Jar文件

这篇关于JOBB DirectoryFullException:de.waldheinz.fs.fat.DirectoryFullException:目录已满的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆