- 990x.top
- Простой компьютерный блог для души)
- obb что это за папка на Андроид?
- Для чего нужен файл .obb?
- Нет папки obb в Андроид. Что делать
- Папка obb (sdcard/Android/obb) на андроид, для чего она нужна?
- Что делать если нет директории, папки sdcard/Android/obb?
- Открытие OBB файлов
- Для чего нужен файловый формат .OBB?
- Русские Блоги
- Генерация и использование OBB
- Обб производство и использование
- Предисловие:
- 1. Правила именования OBB
- Во-вторых, метод генерации OBB:
- 3. Где сохранить расширенные файлы
- В-четвертых, использование файлов расширения APK
990x.top
Простой компьютерный блог для души)
obb что это за папка на Андроид?
Всем привет. Изучаем Андроид и все что внутри него, а как мы уже знаем, там могут быть непонятные программы, непонятные папки.. Сегодня мы будем выяснять про такую папку как obb, узнаем для чего она. Ну что ребята, я отправился в интернет. И вот что узнал — папка obb служит для хранения файлов кэша, у которых тоже идет расширение .obb и эта папка обычно расположена вот по такому пути: sdcard/Android/obb. Вот еще читаю, что эта папка может отсутствовать, в итоге могут быть траблы при установке приложений, которым нужен кэш. И читаю, что в таком случае нужно создать ее вручную (может стоит использовать какой-то файл менеджер для этого), ибо большинство программ для кэш файлов используют именно папку obb. Ну вот — то есть получается папка obb это кэш программ
Так, ищу еще инфушку. Вот еще читаю, что кэш в папке obb идет в формате .obb, но самое интересное что он запакован в один файл. Точнее будет так — у каждой программы кэш идет запакованный в один файл. Сами кэши размещаются вот так:
Где NameApp это имя приложения или игры. И кстати этот кэш оказывается можно открыть при помощи WinRAR. Но вот еще читаю, что если кэш программы очень большой, то он идет в сжатом виде и когда распаковывается, то извлекает файлы уже в эту папку:
Ого, тут такое читаю, короче кэш этот может иметь и другое предназначение — проверка лицензии. А прикол вот в чем, например вы запускаете игру и она не может найти кэш в нужной папке, при этом что сам кэш можно скачать только из Google Play (вообще не слышал о таком даже), что в итоге? В игре может сработать защита, ибо вы ее не купили, если кэша нет в нужной папке! Короче ребята, как-то так, вы уж извините если что не так, сам сложно понимаю все это дело.
Ну а вот вам две картинки так бы сказать в тему:
Кстати о том что такое кэш нашел такую инфу:
В общем ребята, на вопрос что за папка obb ответ один — это кэш для приложений, в том числе и для игр. Приложения в папке obb имеют свои папки, в которых и размещен кэш, который идет вроде как в виде одного файла с расширением .obb
На этом все, а то я уже сам тут немного запутался. Удачи вам и будьте счастливы!!
Источник
Для чего нужен файл .obb?
Применительно к операционной системе Android файлы формата obb выполняют роль вместилища ресурсов, необходимых для запуска и корректной работы некоторых программ и игровых проектов. Устанавливаются подобные файлы в соответствующую директорию и используются по мере необходимости. Как известно, инсталлировать контент на Android устройство можно двумя способами – с помощью сервиса Google Play, для чего требуется аккаунт Google, или со сторонних ресурсов – этом случае пользователю приходится самостоятельно отправлять скаченный кэш в соответствующую папку в файловой системе устройства.
В первом случае все процессы происходят в автоматическом режиме – создается необходимая папка, куда и переносится кэш. Куда сложнее обстоят дела при самостоятельной инсталляции программного обеспечения пользователем. Например, желая установить на свой аппарат игру Assassin’s Creed: Rebellion, геймеру необходимо скачать пакет, состоящий из установочного APK файла и кэша, именно последний должен занять свое места в папке obb. Но иногда в файловой системе такая папка просто-напросто отсутствует, поэтому ее необходимо создавать самостоятельно.
Создание папки obb непосредственно с мобильного устройства:
- Используем любой File Manager (можно воспользоваться предустановленным ПО).
- Ищем системную папку «Android», которая иногда может быть скрыта, поэтому воспользуемся опцией «Показать скрытые фалы и папки».
- Переходим в папку «.android», тапаем иконку «новая папка» и называем ее «obb».
Создание папки obb с помощью персонального компьютера:
- Подключаем с помощью кабеля USB мобильный аппарат к ПК.
- Заходим в требуемый диск, ищем папку android и создаем там новую папку, «обозвав» ее obb.
Теперь, установив игру, отправляем в созданную папку obb скаченный кеш (предварительно его разархивировав) и с удовольствием погружаемся в захватывающий геймплей. Помните, после инсталляции игры нельзя ее запускать, пока кэш не помещен на свое «законное» место!
Источник
Нет папки obb в Андроид. Что делать
Сегодняшняя статья на андроид тематику будет полезна любителям поиграть бесплатно в платные игры для смартфонов и планшетов. При установке платного контента могут возникать определенные трудности, например нет конфига, драйвера, нужного кодека или банально рут прав или просто нужной директории, папки. Для установки игр с кешем понадобиться папка obb в android. О ней и поговорим.
Папка obb (sdcard/Android/obb) на андроид, для чего она нужна?
Немного теории для начала, что бы вы могли понтануться перед друзьями. Данный каталог в системе служит для хранения файлов с расширением «.obb». Обычно там хранится кеш различных приложений или же игр. Существует два основных способа установки нового софта на телефон, планшет:
- Установка на прямую из Google Play. Единственное что потребуется — учетная запись Google
- Скачивание на устройство APK и всех необходимых файлов и последующая установка напрямую из смартфона;
С первым способом трудностей не возникает, со вторым дела обстоят несколько иначе. Существуют платные игры и приложения, в которые мы хотим поиграть и опробовать бесплатно. Они зачастую содержат кеш данные, например для установки на телефон GTA San Andreas необходимо скачать вместе с APK папку с кешем игры, который как раз устанавливается в папке obb. При покупке и последующей установке официального приложения папка obb создается сама. При скачивании пиратской версии телефоне изначально отсутствует папка obb, в которую нужно кидать кэш для игр.
Что делать если нет директории, папки sdcard/Android/obb?
Как догадался пытливый читатель данную папку нужно просто создать. Рекомендуем создавать ее в памяти смартфона, т.к. по умолчанию все игры и программы устанавливаются туда. Если устанавливаете утилиты на sd карте — создавайте на флешке. Первый вариант — создать папку напрямую со смартфона:
- Открываем любой файловый менеджер (на каждом аппарате есть встроенный). «Android» системная папка, по этому может быть скрыта. Если ее не видно — нажмите на кнопку контекстного меню и выберете пункт «Показать скрытые фалы и папки»;
Показать скрытые файлы или папки
Как создать папку obb
Второй вариант — берем в руки USB кабель, подключаемся к компьютеру. Идем по тому же пути — открываем нужный диск, заходим в папку android, создаем папку obb. Теперь, после установки кидаем туда файлы кеша и наслаждаемся любимыми играми.
Внимание! Не запускайте игру, пока не скопировали все необходимые файлы кеша, иначе придется повторять процесс установки заново.
Надеюсь все разобрались для чего нужна Android obb папка и что делать если нет папки obb.
В довесок бонусное видео как поставить GTA San Andreas на андроид:
Если у вас есть трудности с установкой каких-то конкретных игр — пишите в комментарии.
Евгений Загорский
IT специалист. Автор информационных статей на тему Андроид смартфонов и IOS смартфонов. Эксперт в области решения проблем с компьютерами и программами: установка, настройка, обзоры, советы по безопасности ваших устройств. В свободное время занимается дизайном и разработкой сайтов.
Источник
Открытие OBB файлов
У вас есть проблема с открытием .OBB-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы OBB. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.
Для чего нужен файловый формат .OBB?
Как акроним от «Opaque Binary Blob» (Непрозрачный двоичный блок) расширение .obb присваивается файлам преимущественно для указания, скорее, на их функцию, чем внутренний формат. Непрозрачный двоичный блок (OBB) — это двоичный файл, содержащий некоторые данные, которые можно прочесть и извлечь, только если известен внутренний формат такого файла (.obb).
Применительно к Google Android — популярной операционной системе для мобильных устройств с сенсорными экранами — файлы OBB используются в качестве контейнеров ресурсов с собственной внутренней файловой системой, прозрачным шифрованием и общим доступом со стороны приложений. В Android управление OBB-контейнерами осуществляется централизованно посредством API StorageManager; они могут монтироваться в общую файловую систему по мере необходимости.
Файл .obb — это объемный двоичный файл, возможно, зашифрованный, который служит хранилищем разнообразных данных (изображения, аудио, видео), задействованных приложениями Android.
По причине ограничения на размер, наложенного на главные файлы приложений (APK), многие разработчики решили выносить все объемное содержимое своих приложений во внешние OBB-блоки — пакеты расширения приложений (.obb). Такие пакеты расширения распространяются вместе с главными файлами APK и обрабатываются прозрачно для пользователя.
Кроме того, расширение .obb также выступает в ассоциации с типом и форматом файлов «Резервная копия Online-Banking+» (OBB). В Online-Banking+ (OB+), представляющим собой полноценное решение для интернет-банкинга от Buhl Data Service GmbH, файлы OBB используются в качестве защищенных шифрованием резервных копий пользовательских данных. Помимо обеспечения сохранности данных, архивы резервных копий OBB могут использоваться для переноса полных пользовательских профилей OB+ с одного компьютера на другой. Восстановить данные из архива .obb в OB+ можно при помощи встроенного средства работы с резервными копиями.
Источник
Русские Блоги
Генерация и использование OBB
Обб производство и использование
Ссылка на официальный документ производства продукции:
Предисловие:
В магазине приложений Google Play есть ограничение на загрузку в 100 МБ. Приложения, размер которых превышает этот размер, должны загружать лишнюю часть в виде расширенного файла. Всего может быть загружено 2 расширенных файла. Максимальный размер каждого файла может составлять 2 ГБ, а формат файла obb [расширенный Файл может использовать любой формат файла (ZIP, PDF, MP4 и т. Д.). Вне зависимости от любого формата файла, Android считает, что это файлы obb (непрозрачные двоичные двоичные объекты).
Для каждого приложения каталог может содержать только до 2 расширенных файлов. Одним из них является основной файл расширения, а другим — файл расширения патча, поэтому обычно требуется обрабатывать только основной файл расширения.
1. Правила именования OBB
Имя файла состоит из четырех частей, в том числе:
- main | patch: используется для указания того, является ли это основным расширением или дополнительным расширением.
- расширение-версия: код версии загруженного в данный момент apk.
- имя-пакета: имя пакета apk
- obb: суффикс на самом деле является zip-файлом, Google play автоматически изменит zip-файл на obb-файл.
Например, предположим, что ваша версия APK (versionCode) 25, а имя вашего пакета — com.example.app. Если основной файл расширения загружен, файл переименовывается в:
- При загрузке APK, OBB будет загружен отдельно, вы не можете просто обновить файл OBB
- При загрузке приложения файл OBB загружается в каталог% external storage% / Android / obb / package name
Во-вторых, метод генерации OBB:
1. Google официальный инструмент JobB
Сделано вOBB(Opaque Binary Blob)Инструмент для форматирования файлов, вAndroid SDKв%ANDROID——HOME/tools%вЕсть работа под инструменты / bin。
Примечание. Если вы не настроили среду Android SDK, вам нужно открыть командное окно и перетащить jobb.bat в окно cmd, чтобы выполнить
- jobb -d, -o нужно указать полный путь. Если вы укажете относительный путь,% ANDROID_HOME% / tools / будет относительным путем
- Если инструмент JOBB не может вывести файл .obb с определенной емкостью, появляется сообщение об ошибке
- В следующей таблице перечислены параметры командной строки инструмента jobb.
опции | описание |
-d | Задайте входной каталог для создания файлов OBB или установите выходной каталог при извлечении (-dump) существующих файлов. При создании файла OBB содержимое указанного каталога и всех его подкаталогов включается в файловую систему OBB. |
-o | Укажите имя файла файла OBB. Этот параметр необходим при создании OBB и извлечении (выводе) его содержимого. |
-pn | Укажите имя пакета приложения, которое устанавливает файл OBB, что соответствует значению, указанному в пакете в манифесте приложения. Этот параметр является обязательным при создании файла OBB. |
-pv | Установите минимальную версию приложения, которая может монтировать файл OBB, что соответствует значению android: versionCode в списке приложений. Этот параметр является обязательным при создании файла OBB. |
-k | Задает пароль, используемый для шифрования новых файлов OBB или дешифрования существующих зашифрованных файлов OBB. |
-ov | Создайте файл OBB, который является наложением существующей структуры файла OBB. Эта опция позволяет загружать содержимое нового пакета в то же место, что и предыдущий пакет, и использовать его для создания версии исправления ранее сгенерированного файла OBB. Перезаписать файлы в файлах OBB, чтобы заменить файлы с тем же путем. |
-dump | Распакуйте содержимое указанного файла OBB. При использовании этой опции вы также должны использовать параметр -d, чтобы указать выходной каталог содержимого. |
Примечание. При выгрузке существующего файла OBB вы можете опустить параметр -d, чтобы получить список каталогов в файле без извлечения содержимого. | |
-v | Установите подробный вывод инструмента. |
-about | Отобразите версию и справочную информацию инструмента jobb. |
2. Используйте WinRAR для сжатия (рекомендуется)
Поместите файлы, которые необходимо сжать, в ресурсы или используйте winRAR для сжатия в соответствии с каталогом.
Выберите папку ресурсов и щелкните правой кнопкой мыши, добавьте в сжатый файл, откройте следующее окно и назовите его в соответствии с правилами именования.
Процесс сжатия
3. Где сохранить расширенные файлы
Когда Android Market загрузит файл расширения программы, он будет сохранен в общем хранилище системы. Чтобы программа работала нормально, вы не можете удалять, перемещать или переименовывать файл расширения. На некоторых устройствах Market не может автоматически загрузить файл расширения, поэтому вы должны загрузить файл и сохранить его в том же месте при запуске программы.
Местоположение сохранения файла расширения выглядит следующим образом:
Для каждого приложения каталог может содержать только до 2 файлов расширения. Один — это основной файл расширения, а другой — файл расширения патча. При обновлении программы, если есть новые файлы расширений, новые файлы будут перезаписывать старые файлы расширений.
Если вам нужно распаковать файл расширения для использования, будьте осторожны, чтобы не удалить файл .obb, и не разархивируйте файл в этот каталог. Вы должны сохранить разархивированные файлы в каталог, возвращенный getExternalFilesDir (). Если возможно, лучше использовать формат файла, который программа может прочитать непосредственно, без необходимости разархивировать файл снова. Команда разработчиков Android предоставляет проект (APK Expansion Zip Library), который может напрямую читать содержимое ZIP-файла без распаковки файла.
Следует отметить, что файлы, хранящиеся в общей области хранения системы, также могут быть доступны пользователям и другим приложениям.
В-четвертых, использование файлов расширения APK
Для использования файлов расширений в приложении требуются два дополнительных элемента библиотеки Android:
- Google Market Licensing package-
- Google Market APK Expansion Library package-
После загрузки используйте каталог google_market_licensing \ library в файле market_licensing-r02.zip для создания проекта библиотеки;
Затем используйте google_market_apk_expansion \ downloader_library в market_apk_expansion-r01.zip для создания другого библиотечного проекта.
В то же время для упрощения обработки файлов расширений формата ZIP файл market_apk_expansion-r01.zip также содержит проект библиотеки для обработки файлов ZIP: google_market_apk_expansion \ zip_file Если вы используете формат файла расширения ZIP, вы также можете создать этот проект библиотеки.
1. Объявление необходимых разрешений
Примечание. По умолчанию уровень API, необходимый для загрузки проекта библиотеки, равен 4, а для проекта библиотеки ZIP с расширением APK требуется уровень API 5.
После того, как подготовка завершена, давайте посмотрим, как использовать файл расширения.
2. Реализация сервиса загрузчика
Для загрузки файлов в фоновом режиме проект библиотеки загрузки предоставляет реализацию Сервиса с именем DownloaderService. Вы должны наследовать от этого файла, чтобы реализовать свой сервис загрузки. Чтобы упростить разработку сервисов загрузки, DownloaderService также реализует следующие функции:
- Зарегистрируйте BroadcastReceiver для отслеживания изменений в состоянии сетевого подключения устройства. Если сетевое соединение отключено, загрузка приостанавливается, а если сетевое соединение восстанавливается, загрузка продолжается. —
- Запланируйте уведомление RTC_WAKEUP, которое можно использовать для запуска службы загрузки после прекращения службы загрузки.
- Генерация уведомления (Notification) для отображения хода загрузки и статуса ошибки загрузки
- Разрешить вашей программе вручную приостановить и возобновить загрузку
Убедитесь, что общая область хранения смонтирована и доступна.Перед загрузкой файла проверьте, существует ли файл и достаточно ли места для хранения. Уведомить пользователя, если есть проблема.
Вам нужно только создать класс, который наследуется от DownloaderService, и реализовать следующие три функции:
getPublicKey (): открытый ключ RSA в кодировке Base64 вашей учетной записи Market, который можно получить по следующему URL-адресу:
https://market.android.com/publish/Home#ProfileEditorPlace:
getSALT (): стратегия разрешений используется для генерации случайного набора байтов для Обфускатора.
getAlarmReceiverClassName (): возвращает имя класса BroadcastReceiver, используемое для перезапуска процесса загрузки в вашей программе. В некоторых случаях, когда служба загрузки неожиданно прерывается, загрузите ее снова через класс BroadcastReceiver. Например, программа управления процессами прекратила загрузку.
- Ниже приведен код реализации класса DownloaderService:
Затем объявите службу в файле манифеста. Это очень просто!
- Реализация AlarmReceiver
Чтобы обнаружить процесс загрузки и перезапустить службу загрузки, DownloaderService организует сигнал тревоги RTC_WAKEUP для отправки намерения в BroadcastReceiver программы. Вы должны определить этот BroadcastReceiver для вызова функции, предоставляемой библиотекой загрузчика, и использовать эту функцию, чтобы проверить состояние загрузки и перезапустить службу загрузки, если это необходимо.
Реализовать этот класс также очень просто. Вообще говоря, просто переписать функцию onReceive () и вызвать функцию DownloaderClientMarshaller.startDownloadServiceIfRequired ()
Определите, что AlarmReceiver наследуется от BroadcastReceiver следующим образом:
Затем объявите получателя в файле манифеста. Это очень просто!
3. Начните загрузку файла расширения
Основная активность программы (активность, запускаемая с помощью значка Launcher) должна отвечать за проверку наличия файла расширения и запуск службы загрузки, если он не существует.
Чтобы использовать библиотеку Downloader для загрузки, выполните следующие действия:
1) Проверьте, был ли файл загружен
Класс Helper в библиотеке Downloader содержит несколько функций, упрощающих этот шаг:
getExtendedAPKFileName(Context, c, boolean mainFile, int versionCode)
doesFileExist(Context c, String fileName, long fileSize)
Например, в примере проекта проверьте наличие файла с помощью следующей функции в функции onCreate () Activity:
Здесь объект XAPKFile хранит номер версии и размер известного файла расширения и является ли он основным файлом расширения. Если функция возвращает false, запустите службу загрузки.
2) Запустите загрузку с помощью функции DownloaderClientMarshaller.startDownloadServiceIfRequired (Context c, PendingIntenttificationClient, ClassserviceClass).
Параметры этой функции следующие:
- context: Your application’s Context.
- messagesClient: PendingIntent, используемый для запуска основной операции. Используется в уведомлениях, созданных DownloaderService для отображения прогресса загрузки. Когда пользователь выбирает уведомление, система вызывает PendingIntent, чтобы открыть действие, которое отображает ход загрузки (вообще говоря, действие, которое начинает загрузку).
- serviceClass: класс, унаследованный от DownloaderService в программе. При необходимости служба будет запущена для начала загрузки.
Эта функция возвращает целое число, чтобы указать, нужно ли загружать файл. Существуют следующие значения:
- NO_DOWNLOAD_REQUIRED: указывает, что файл уже существует или загружается в данный момент.
- LVL_CHECK_REQUIRED: указывает, что для авторизации требуется получить URL-адрес для загрузки файла расширения.
- DOWNLOAD_REQUIRED: указывает, что URL-адрес файла расширения был получен, но загрузка еще не началась.
- LVL_CHECK_REQUIRED и DOWNLOAD_REQUIRED по сути одинаковы, в общем случае вам не нужно обращать внимание на это состояние. Вызовите startDownloadServiceIfRequired () в вашей основной деятельности, вам нужно только увидеть, является ли возвращаемое значение NO_DOWNLOAD_REQUIRED. Если возвращаемое значение не равно NO_DOWNLOAD_REQUIRED, библиотека загрузчика начинает загрузку. Вам следует обновить интерфейс программы, чтобы отобразить ход загрузки, если возвращаемое значение равно NO_DOWNLOAD_REQUIRED, это означает, что файл был загружен и ваша программа может нормально запускаться.
3) Когда возвращаемое значение функции startDownloadServiceIfRequired () не равно NO_DOWNLOAD_REQUIRED,
Вызовите функцию DownloaderClientMarshaller.CreateStub (клиент IDownloaderClient, ClassdownloaderService) для создания экземпляра IStub. Этот экземпляр IStub обеспечивает функцию привязки между Activity и службой загрузки, так что ваша Activity может получить событие загрузки.
Для функции CreateStub () требуется класс, который реализует интерфейс IDownloaderClient и класс реализации DownloaderService в качестве параметров. Вообще говоря, пока Activity реализует интерфейс IDownloaderClient.
Команда разработчиков Android рекомендует создавать объекты IStub в функции onCreate () в Activity (созданной после функции startDownloadServiceIfRequired ()).
Когда функция onCreate () возвращается, Activity выполнит функцию onResume () и вызовет функцию connect () IStub в этой функции. Также вызовите функцию отсоединения IStub в функции onStop ().
Вызовите connect (), чтобы связать Activity и DownloaderService.
4. Обработка прогресса загрузки
Чтобы получать информацию о ходе загрузки, вам необходимо реализовать интерфейс IDownloaderClient. Интерфейс имеет следующие функции:
onServiceConnected(Messenger m)
После инициализации IStub эта функция будет вызываться обратно. Параметры этой функции используются для доступа к вашему DownloaderService. Вы можете использовать функцию DownloaderServiceMarshaller.CreateProxy () для создания этого объекта IDownloaderService. Затем вы можете использовать этот объект для управления службой загрузки, такой как приостановка и возобновление загрузки.
onDownloadStateChanged(int newState)
Эта функция вызывается при изменении состояния загрузки, например, при запуске загрузки или завершении загрузки.
Значением параметра newState является одна из констант, определенных в интерфейсе IDownloaderClient (начиная с STATE_);
Текстовое описание состояния можно получить с помощью функции Helpers.getDownloaderStringResourceIDFromState (), чтобы пользователи могли легче его понять. Например, соответствующее текстовое описание STATE_PAUSED_ROAMING: «Загрузка приостановлена, потому что вы находитесь в роуминге / в настоящее время в роуминге, загрузка остановлена»
onDownloadProgress(DownloadProgressInfo progress)
Параметр DownloadProgressInfo этой функции содержит различную информацию о ходе загрузки, такую как предполагаемое время завершения, текущая скорость загрузки, процент выполнения и т. д. Интерфейс загрузки может быть обновлен на основе этой информации.
Есть также несколько полезных функций:
- requestPauseDownload()
Приостановить загрузку - requestContinueDownload()
возобновить загрузку - setDownloadFlags(int flags)
Установите логотип загрузки. В настоящее время поддерживается только один флаг: FLAGS_DOWNLOAD_OVER_CELLULAR. Загрузите файлы расширения через мобильную сеть. По умолчанию этот флаг не включен, поэтому по умолчанию загрузка только через WIFI.
5. Читайте расширенные файлы
После загрузки файла расширения APK мы рассмотрим, как его использовать. Однако для некоторых реализаций Android 6.0 (уровень API 23) и более поздних версий все еще требуются разрешения, поэтому необходимо объявить разрешения хранения в манифесте приложения и запросить разрешения внешнего хранилища во время выполнения, как показано ниже:
Перед использованием файла расширения obb необходимо переместить библиотеку Zip Library в свой собственный проект для зависимости. Используя эту библиотеку, вы можете легко прочитать ресурсы в файле расширения ZIP как виртуальную файловую систему.
Совет: (Zip-библиотека находится в / extras / google / google_market_apk_expansion / zip_file /)
Используйте класс APKExpansionSupport для получения ресурсов в obb
Предоставьте несколько способов доступа к расширенному имени файла и ZIP-файлу:
- getAPKExpansionFiles()
Тот же метод, показанный выше, возвращает полный путь к файлам двух расширенных файлов.
getAPKExpansionZipFile(Context ctx, int mainVersion, int patchVersion)
Return ZipResourceFile представляет сумму основного файла и файла исправления. То есть, если указаны mainVersion и patchVersion, возвращается ZipResourceFile, чтобы обеспечить доступ для чтения ко всем данным, а данные файла исправления объединяются с верхней частью основного файла.
- ZipResourceFile
Представляет файл ZIP в общем хранилище и выполняет всю работу по предоставлению виртуальной файловой системы на основе файла ZIP. Вы можете использовать-APKExpansionSupport.getAPKExpansionZipFile () или ZipResourceFile, чтобы получить экземпляр, передав его в файл расширения. Этот класс содержит различные полезные методы, но вам обычно не требуется доступ к большинству из них. Некоторые важные методы:
- getInputStream(String assetPath)
Предоставьте InputStream для чтения файлов в ZIP-файле. Требуемый путь assetPath должен быть относительно корня содержимого файла ZIP. - getAssetFileDescriptor(String assetPath)
Предоставьте AssetFileDescriptor для файлов в файле ZIP. Требуемый путь к assetPath должен быть указан относительно корня содержимого файла ZIP. Это полезно для определенных API-интерфейсов Android, для которых требуется AssetFileDescriptor
Прежде всего, чтобы получить путь к файлу расширения, вы можете выполнить операцию с помощью следующего кода:
Источник