В версии Android 11 Google не только внедрила новые полезные фичи, но и внесла некоторые изменения в файловую систему (они затронули и Android 12). Если быть точным, «корпорация добра» запретила сторонним приложениям выполнять действия с папками /Android/obb и /Android/data — стандартные файловые менеджеры выдают ошибку: «Не удалось создать папку… Android/obb. Permission denied. Не удалось создать… Android/obb. No such file or directory. Файлы не были извлечены».
По словам команды разработчиков, они пошли на этот шаг ради безопасности. Но вместе с этим теперь нельзя так просто устанавливать сторонние приложения, требующие кэша. После установки Android 11, я первым же делом решил изучить этот вопрос и попытался обойти ограничение. На данный момент я нашёл два метода, не требующих Root-права, — установка специальных файловых менеджеров или использование adb (Android Debug Bridge). Для второго способа обязательно наличие ПК. Оба метода по установки кэша работают как на Android 11, так и на Android 12.
Способ 1: через файловый менеджер
Шаг 1. Скачайте файловый менеджер MiXPlorer или X-Plore.
Шаг 2. Откройте файловый менеджер, найдите кэш. Если он загружен в виде архива, распакуйте его. Для этого откройте файл и, задержав палец на папке внутри, нажмите кнопку «Копировать».
Шаг 3. Перейдите в директорию Android/obb или Android/data (зависит от того, какая нужна), и там нажмите кнопку «Вставить». При появлении окна с просьбой дать приложению доступ к файлам, нажмите «Разрешить».
Шаг 5. После того, как в директории Android/obb или Android/data появится нужная папка, можно запускать приложение, для которого был нужен кэш.
Способ №2: через ADB
Для начала необходимо на смартфоне зайти в «Настройки», затем в раздел «Для разработчиков» и включить в нём «Отладку по USB». Если у вас нет пункта «Для разработчиков», сперва придётся зайти в раздел «О телефоне», найти там «Номер сборки» и тапнуть по нему несколько раз, пока не появится надпись «Вы стали разработчиком».
Следующим шагом станет скачивание adb на ПК. Для этого необходимо зайти на официальный сайт и загрузить софт для своей платформы, после чего распаковать полученный ZIP-архив в удобном месте (если у вас Windows, для упрощения рекомендую переместить извлечённую папку в корень диска C).
Как скопировать кеш в Android/obb или Android/data на Android 11 и 12
Итак, всё настроено и смартфон подключен к ПК. Если у вас Windows, первым делом нужно открыть «Командную строку» от имени администратора. Сделать это можно, набрав в поиске системы «cmd» и выбрав соответствующий пункт.
Далее необходимо прописать следующую команду: cd <путь к распакованной папке>. Например, если, как я советовал выше, папка находится в корне диска C, команда будет выглядеть следующим образом: cd C:/platform-tools. Как только вы окажетесь в нужной директории, можно прописать команду adb devices. Если всё сделано верно, в консоли отобразится подключённое устройство. В случае, если появится надпись unauthorized, необходимо со смартфона подтвердить вход в режим отладки на данном компьютере (скорее всего, это окно появится сразу же, как смартфон будет подключен к ПК).
Для владельцев компьютеров на macOS действия почти аналогичные. После загрузки и распаковки инструментов, необходимо открыть терминал, перейти в директорию с файлами (по дефолту это будет папка Downloads) командой cd <путь к распакованной папке> и прописать ./adb devices. По сути, отличие от Windows лишь в том, что каждый раз вместо adb надо писать ./adb.
Переходим непосредственно к загрузке файлов. Команда, которая для этого потребуется, строится по следующему шаблону: adb push <путь к нужному файлу на вашем ПК> <путь к папке obb или data на смартфоне>. Для владельцев macOS-устройств всё то же самое, но с ./ в самом начале команды. Важное замечание касательно второго пути (на смартфоне): он выглядит как sdcard/android/obb или sdcard/android/data.
Примечательно, что adb не умеет отправлять на устройство целые папки, поэтому для этого придётся заранее создать папку, и уже в неё кидать файл(ы). Создаётся папка командой: adb shell mkdir <путь вместе с желаемой папкой>.
В качестве примера я рассмотрю процесс переноса кэша для игры GRIS. Изначально он поставляется в папке com.devolver.grispaid, поэтому сначала я создам директорию на смартфоне командой adb shell mkdir sdcard/android/obb/com.devolver.grispaid.
Создав папку, я использую команду, о которой я рассказывал ранее: adb push C:/com.devolver.grispaid/main.25.com.devolver.grispaid.obb sdcard/android/obb/com.devolver.grispaid
Как удалить кеш из Android/obb или Android/data на Android 11 и 12
Для удаления файлов необходимо прописать следующую команду: adb shell rm -f <путь к файлу>. Если же необходимо удалить директорию со всем содержимым внутри, пригодится следующая команда: adb shell rm -rf <путь к директории>.