Intereting Posts
Использование Butter Knife в пользовательских BaseAdapter SubClass Результаты в «Невозможно ввести представления» Android устанавливает высоту и ширину пользовательского вида программно Android лучший способ получить текущее местоположение Как «установить» панель действий «Шерлок»? Приложение Android Webview не позволит проигрывателю проигрывать весь экран Кинжал 2 на Android: вводят ту же зависимость в Activity и сохраненный фрагмент Android – "ваше устройство несовместимо с этой версией" Android usb мыши правой кнопкой мыши правильное поведение (ICS) Реализация круговой прокрутки в PagerAdapter Android: порядок заявлений в методе onDestroy () Android: Как получить пользовательский вид высоты и ширины? Как я могу издеваться над контекстом, используя Mockito и Robolectric? Как использовать MediaSessionCompat и поддерживать обратную совместимость с RemoteControlClient? Как использовать стиль уведомления по умолчанию? Использование датчика приближения в android

Использование инструмента jobb в Android

Я запускаю следующую команду, чтобы получить зашифрованный файл obb для расширения apk.

jobb -d /home/manoj/Desktop/Test -o main.1.com.example.helloworld.obb -k "manoj" -pn com.example.helloworld -pv 1 

Я получаю следующее исключение. Пожалуйста, расскажите, что пошло не так.

 Slop: 0 Directory Overhead: 0 Slop: 1132 Directory Overhead: 768 Partial Sector [32] writing to sector: 15 Partial Sector [32] writing to sector: 15 Partial Sector [32] writing to sector: 15 Partial Sector [331] writing to sector: 223 Partial Sector [417] writing to sector: 400 Partial Sector [406] writing to sector: 577 Partial Sector [333] writing to sector: 754 Partial Sector [223] writing to sector: 931 java.io.IOException: FAT Full (1676, 1677) 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.Fat.allocNew(Fat.java:353) at de.waldheinz.fs.fat.ClusterChain.setChainLength(ClusterChain.java:164) 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: main.1.com.example.helloworld.obb 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) 

Solutions Collecting From Web of "Использование инструмента jobb в Android"

Вы также можете получить следующую ошибку с помощью инструмента jobb-Tool (по крайней мере, в окнах с jobb.bat), если у вас много файлов.

 de.waldheinz.fs.fat.Directory Full Exception: directory is full 

Это связано с тем, что формат файла obb сохраняется в FAT16, whitch позволяет только 512 записей / файлов в корневом каталоге

В Windows: если у вас есть папка «данные» с потерями изображений и скопирована в каталог sdk-tools android

  • Данные / 1.jpg
  • Данные / 2.jpg
  • Данные / 3.jpg
  • данные/…
  • Данные / 5000.jpg

И вы используете

 console>>>jobb -pn my.package.name -pv VERSIONCODE -d ./data -k obb_password -o main.VERSIONCODE.my.package.name.obb 

Вы получите указанную ошибку. Попробуйте добавить одну иерархию каталогов и сделать «data» -directory в подпапку

  • корень / данные / 1.jpg
  • корень / данные / 2.jpg
  • корень / данные / 3.jpg
  • корень / данные / …
  • корень / данные / 5000.jpg

использование

 console>>>jobb -pn my.package.name -pv VERSIONCODE -d ./root -k obb_password -o main.VERSIONCODE.my.package.name.obb 

Вы должны иметь в виду, что если вы хотите позже читать из obb, что фотографии теперь находятся в подпапке.

Я получал такое же поведение, но это было только в тестовой структуре каталогов, с которой я экспериментировал. У этого почти не было контента, поэтому, возможно, это проблема с jobb при этих небольших размерах. Или, возможно, некоторые условия ошибки удовлетворяются в зависимости от пространства, занимаемого всеми файлами. Я более подробно комментировал проблему с кодом Google.

Интересно, может ли добавление нескольких избыточных файлов избежать этого поведения ошибки для тех, кто испытывает это с нетривиальными структурами каталогов.

В дополнение к тому, что Ix222 говорит о том, что FAT16 ограничивает количество файлов в корневом каталоге, проблема также возникает в самом инструменте jobb и в библиотеке FAT, которую он использует.

В библиотеке FAT определяется максимальный размер файловой системы для FAT12 4 МБ, FAT16 на 512 МБ и использование FAT32 для чего-либо, кроме этого. На самом деле FAT12 позволяет до 16 МБ (32 МБ в некоторых реализациях), а FAT16 – до 2 ГБ. Это связано с тем, что если размер вашего OBB с использованием текущего инструмента ограничен диапазоном 4 МБ <= размер OBB <512 МБ.

Инструмент jobb также ошибочно полагается на библиотеку FAT для определения файловой системы, но он совместим только с FAT16.

Быстрое исправление заключается в том, чтобы создать собственную версию инструмента jobb (я рекомендую создать резервную копию существующего JAR и заменить его своим собственным, файл Windows Batch все равно будет использоваться для его запуска) с модифицированной версией библиотеки libfat32, встроенной в Просто изменив метод, который определяет файловую систему для возврата FAT16 на что-либо до 2 ГБ, и FAT32 в противном случае будет достаточным для создания достоверных файлов OBB до 2 ГБ (что в любом случае является ограничением для файлов OBB).

SuperFloppyFormatter возвращает FAT32 для чего-либо более 512 МБ?

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

Получил ту же проблему, и обходной путь, который я нашел, – сделать архив с минимальным размером 4mo. Чтобы добавить поддельные данные в мой небольшой архив, сработайте …

Проблема: https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=53878

В моем случае я решил проблему удаления нескольких скрытых файлов …

Мой босс владеет и работает на MacOSX, меня на Windows. Поэтому, когда он передал его и открыв папку, я нашел несколько скрытых файлов, таких как .DS_Store и ._. DS_Store. Кроме того, я нашел скрытые временные JPG, например, если у меня был файл с именем image1.jpg У меня был еще один .image1.jpg. Итак, в конце концов я удалил все скрытые файлы.

И вуаля!

В моем случае он решил снова запустить программу с теми же параметрами и тем же контентом в каталоге, который я хотел упаковать.

 ./jobb -d /media/assets/ -o my-app-assets.obb -k my_pass -pn package-name -pv your-version