- Системные файлы Андроид
- Для чего нужен root доступ и как посмотреть файлы
- Обозначение системных папок
- System
- Cache
- Efs
- Как получить доступ к папке данных / данных на устройстве Android?
- Для резервного копирования с Android на рабочий стол
- Чтобы извлечь файл * .ab
- Как установить кэш в /obb и /data на Android 11 без Root
- Содержание
- Подготовка
- Как скопировать кеш в Android/obb или Android/data на Android 11
- Как удалить кеш из Android/obb или Android/data на Android 11
- Вывод
Системные файлы Андроид
Последние версии Android наполнены встроенными сервисами, которые нельзя удалить без доступа к файлам ОС. Но разработчики по умолчанию скрыли их. В статье расскажем, как открыть системные файлы Андроид и какая папка, за что отвечает.
Для чего нужен root доступ и как посмотреть файлы
Чтобы открыть директорию с файлами системы, у пользователя должны быть права администратора или, другими словами, root. Разработчики специально заблокировали возможность взлома смартфонов, чтобы человек не мог изменить внутренние функции, удалять предустановленные сервисы и службы. На устройства с чистым Android по умолчанию заблокирован загрузчик, с недавних пор такую практику применяет ряд китайских производителей. Чтобы его активировать нужен рут доступ.
Для просмотра «внутренностей» Андроид не обязательно взламывать смартфон, нужно только скачать специальный файловый менеджер из магазина приложений Google Маркет. Вводим в поиске Root Browser и устанавливаем программу. В интернете рекомендуют другое конкурирующее приложение под названием Root Explorer, но последние версии не отличаются стабильностью, а пользователи жалуются на большое количество рекламы.
Открываем Root Browser. Даем разрешение на доступ к файловой системе телефона. Чтобы узнать, где находится корневая папка на смартфоне андроид, делаем свайп вправо и в появившемся меню выбираем Root Directory.
Обозначение системных папок
Рассмотрим назначение важных папок на Андроид. Фирменная операционная система Google написана на основе Linux, поэтом, если ищете конкретный файл или папку пишите её название дословно. В файловой структуре Android, в отличие от Windows, директории с именем «Cache» и «cache» будут разными разделами.
System
Не знаете, как зайти в папку system на своём Android? В разделе Root Directory прокручиваем список вниз и находим требуемый раздел. В ней расположены все основные записи, связанные с внутренними настройками и предустановленными сервисами. Будьте внимательны, на китайских смартфонах встречается System вне рут раздела, не перепутайте. Рассмотрим основные вложенные директории:
- В app находятся предустановленные Google программы. На новых версиях разработчики перенесли их в отдельную директорию с названием priv-app;
- По пути xbin/su расположены файлы, отвечающие за права суперпользователя;
- В etc лежат конфигурации для запуска ОС и других приложений;
- etc/hosts, как и на Windows, отвечает за блокировку входящих и исходящих соединений;
- fonts – директория с системными шрифтами;
- framework отвечает на все внутренние процессы и важные модули контроля ОС.
Cache
В ней находятся временные записи, предстоящие обновления операционной системы и кэш установленных игр и приложений.
С новых версий Андроид, раздел не обязательно находится в рут библиотеке. Как открыть и где найти папку data на Android? Пользователям с ревизией 8 – 10, рекомендуем искать data на внутреннем накопителе, а для более молодых версий использовать взлом. В директории находятся все внешние программы и сервисы, которые человек ставил из Google Маркета или используя apk.
Efs
Доступен не на всех устройствах. В нём хранится информация связанная с IMEI и другими параметрами идентификации девайса.
В разделе находятся файлы с внешнего накопителя, в новых ревизиях переименован в storage. Если в смартфон вставлена SD-карта или другой накопитель, внутри будет находиться раздел с именем sdcard или sdcard2, если внутренняя память дублирует название.
Система сохраняет всю музыку, изображения, видео и другую пользовательскую информацию по этому пути. Если нужно перенести личную информацию на компьютер через USB-кабель, рекомендуем её искать в mnt или storage.
Важно понимать, что имена и размещение разделов может отличаться в зависимости от большого количества факторов: производитель телефона, внешних оболочек и наличия root. Без прав администратора запрещено редактировать и заменять документы, а некоторые записи могут не отображаться.
Источник
Как получить доступ к папке данных / данных на устройстве Android?
Я занимаюсь разработкой приложения и знаю, что моя база данных *.db появится в data/data/com.****.***
Я могу получить доступ к этому файлу из AVD в Eclipse с помощью диспетчера sqlite
Но я не могу получить доступ к этому файлу на своем телефоне Android.
Я гуглю его, и он говорит, что мне нужно рутировать мой телефон, чтобы сделать это, но я не хочу это делать. (Новый телефон, проблемы с гарантией и проблемы с безопасностью)
Итак, вот мой вопрос: как я могу получить доступ к своему data/data/. каталогу в моем телефоне Android » без рутирования «?
Могу ли я изменить пользовательские разрешения для каталога data/data. без рута?
Доступ к файлам непосредственно на вашем телефоне затруднен, но вы можете скопировать их на свой компьютер, где вы сможете делать с ним все, что захотите. Без рута у вас есть 2 варианта:
Если приложение отлаживаемо, вы можете использовать run-as команду в оболочке adb
В качестве альтернативы вы можете использовать функцию резервного копирования Android.
Теперь вам будет предложено «разблокировать устройство и подтвердить операцию резервного копирования». Лучше НЕ предоставлять пароль, иначе становится сложнее читать данные. Просто нажмите «Резервное копирование моих данных». В результате файл «backup.ab» на вашем компьютере содержит все данные приложения в формате резервной копии Android. По сути это сжатый tar-файл. На этой странице объясняется, как вы можете использовать команду OpenSSL zlib для ее распаковки. Вы можете использовать adb restore backup.db команду для восстановления резервной копии.
Если вы используете Android Studio 3.0 или более позднюю версию, выполните следующие действия.
- Нажмите « Просмотр» > « Инструмент Windows» > « Обозреватель файлов устройства» .
- Разверните / data / data / [имя-пакета] узлы.
Вы можете разворачивать пакеты, которые работают в режиме отладки, только на некорневом устройстве.
Вы также можете попробовать получить базу данных с помощью приложения root explorer. И если это не работает, то вы можете попробовать это:
- Открыть cmd
- Измените каталог и перейдите в «Инструменты платформы»
- Тип ‘ adb shell ‘
- su
- Нажмите «Разрешить» на устройстве
- chmod 777 /data /data/data /data/data/com.application.package /data/data/com.application.package/*
- Откройте представление DDMS в Eclipse и оттуда откройте FileExplorer, чтобы получить нужный файл
После этого вы сможете просматривать файлы на рутированном устройстве.
Чтобы сделать что-либо из вышеперечисленного (например, получить доступ к защищенным папкам из самого телефона), вам все еще нужен root. (Это включает изменение разрешений на монтирование для папки / data и доступ к ней)
Без root невозможно получить /data прямой доступ для чтения, кроме как из вашего приложения через код. Таким образом, вы можете попробовать скопировать этот файл на SDCard или куда-нибудь доступный, и тогда вы сможете получить к нему обычный доступ.
Rooting не аннулирует вашу гарантию, если у вас есть устройство разработчика. Извините, по-другому, AFAIK, нет.
Самый простой способ (всего один простой шаг) извлечь файл из папки отлаживаемого приложения (скажем /data/data/package.name/databases/file ) на некорневом устройстве Android 5.0+ с помощью этой команды:
- Откройте командную строку
- Перейдите в каталог E: \ Android \ adt-bundle-windows-x86_64-20140702 \ adt-bundle-windows-x86_64-20140702 \ sdk \ platform-tools
- Введите ниже команды
- adb -d shell
- run-as com.your.packagename cat databases/database.db > /sdcard/database.db
- Перейдите в каталог, чтобы cd /sdcard убедиться, что database.db он есть.
- adb pull /sdcard/database.db или просто вы можете скопировать database.db с устройства.
Используйте Проводник в затмении. Выберите Windows => Показать представление => Прочее . => Проводник.
Другой способ — извлечь файл через adb:
У меня тоже была одна и та же проблема. Невозможно получить прямой доступ к файлу на устройствах Android, кроме оболочки adb или рутирующего устройства.
Кроме того, здесь есть 2 варианта:
Для резервного копирования с Android на рабочий стол
Откройте командную строку cmd и запустите: adb backup -f C: \ Intel \ xxx.ab -noapk your.app.package . Не вводите пароль и нажмите Резервное копирование моих данных. Убедитесь, что вы не сохранили на диске C root. Вам может быть отказано. Вот почему я сохранил на C: \ Intel.
Чтобы извлечь файл * .ab
- Зайдите сюда и загрузите: https://sourceforge.net/projects/adbextractor/
- Распакуйте загруженный файл и перейдите в папку, в которую вы распаковали.
- запустите его со своими собственными именами файлов: java -jar abe.jar распаковать c: \ Intel \ xxx.ab c: \ Intel \ xxx.tar
На рутованном устройстве правильное решение таково:
Исходное решение работало, но chmod возвращал неизвестный каталог. Изменение команды chmod на / data / data / * дало доступ ко всем подпапкам в каталоге данных из DDMS в Intellij. Я предполагаю, что то же решение верно для Eclipse DDMS.
ОБНОВЛЕНИЕ Итак, то, что я нашел, странно. Я использую Nexus 6, используя DDMS в IntelliJ (Android Device Monitor). Я построил небольшое приложение для начинающих. Указанное приложение сохраняет данные в файл .csv в data / data / com.example.myapp / files
Когда я впервые начал пытаться получить доступ к этому файлу на своем Nexus 6, я обнаружил, что должен рутировать устройство. Я мог видеть папку данных, но попытка открыть ее не сработала. Как упоминалось в Интернете в других местах, расширение + исчезнет, а затем вскоре появится снова (обратите внимание, что в Интернете есть решения, которые утверждают, что разрешают доступ к этим папкам без рутирования, я не нашел их слишком поздно, и я не уверен, предпочитаю ли я в любом случае не получать root-права ((я бы предпочел сделать это вручную, чем полагаться на приложение или командную строку, чтобы дать мне свои решения))). Я рутировал свои 6 и снова попробовал DDMS.
В этот момент он показал мне папку с данными, и я смог развернуть папку и увидеть ком. каталоги, но я не мог открыть ни один из них. Именно тогда я обнаружил вышеуказанное решение. Начальные инструкции не будут работать на этой части:
Именно тогда я попробовал решение, которое я отправил:
Это решение, похоже, работает, но только для определенных папок. Теперь я могу развернуть папку myapp, но не могу развернуть каталог файлов в ней.
В этот момент я немного поигрался, а потом подумал, почему бы просто не попробовать его в нужном мне каталоге, а не попробовать эти подстановочные знаки.
Эти команды позволили мне развернуть и просмотреть файлы в каталоге моего приложения, чтобы убедиться, что файл .csv был сохранен правильно.
Надеюсь, это кому-нибудь поможет. Я боролся с этим часами!
Источник
Как установить кэш в /obb и /data на Android 11 без Root
В новой версии Android Google не только внедрила новые полезные фичи, но и внесла некоторые изменения в файловую систему. Если быть точным, «корпорация добра» запретила сторонним приложениям выполнять действия с папками /Android/obb и /Android/data — файловые менеджеры выдают ошибку: «Не удалось создать папку… Android/obb. Permission denied. Не удалось создать… Android/obb. No such file or directory. Файлы не были извлечены».
По словам команды разработчиков, они пошли на этот шаг ради безопасности. Но вместе с этим теперь нельзя устанавливать сторонние приложения, требующие кэша. После установки Android 11, я первым же делом решил изучить этот вопрос и попытался обойти ограничение. На данный момент я нашёл только один метод, не требующий Root-права, — использование adb (Android Debug Bridge). Сразу отмечу, что для этого способа обязательно наличие ПК.
Содержание
Подготовка
Для начала необходимо на смартфоне зайти в «Настройки», затем в раздел «Для разработчиков» и включить в нём «Отладку по USB». Если у вас нет пункта «Для разработчиков», сперва придётся зайти в раздел «О телефоне», найти там «Номер сборки» и тапнуть по нему несколько раз, пока не появится надпись «Вы стали разработчиком».
Следующим шагом станет скачивание adb на ПК. Для этого необходимо зайти на официальный сайт и загрузить софт для своей платформы, после чего распаковать полученный ZIP-архив в удобном месте (если у вас Windows, для упрощения рекомендую переместить извлечённую папку в корень диска C).
Как скопировать кеш в Android/obb или Android/data на Android 11
Итак, всё настроено и смартфон подключен к ПК. Если у вас Windows, первым делом нужно открыть «Командную строку» от имени администратора. Сделать это можно, набрав в поиске системы «cmd» и выбрав соответствующий пункт.
Далее необходимо прописать следующую команду: cd . Например, если, как я советовал выше, папка находится в корне диска C, команда будет выглядеть следующим образом: cd C:/platform-tools. Как только вы окажетесь в нужной директории, можно прописать команду adb devices. Если всё сделано верно, в консоли отобразится подключённое устройство. В случае, если появится надпись unauthorized, необходимо со смартфона подтвердить вход в режим отладки на данном компьютере (скорее всего, это окно появится сразу же, как смартфон будет подключен к ПК).
Для владельцев компьютеров на macOS действия почти аналогичные. После загрузки и распаковки инструментов, необходимо открыть терминал, перейти в директорию с файлами (по дефолту это будет папка Downloads) командой cd и прописать ./adb devices. По сути, отличие от Windows лишь в том, что каждый раз вместо adb надо писать ./adb.
Переходим непосредственно к загрузке файлов. Команда, которая для этого потребуется, строится по следующему шаблону: adb push . Для владельцев 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
Для удаления файлов необходимо прописать следующую команду: adb shell rm -f . Если же необходимо удалить директорию со всем содержимым внутри, пригодится следующая команда: adb shell rm -rf .
Вывод
Google, несомненно, усложнила доступ к папкам data и obb, но всё же работать с этими директориями можно, пускай и с помощью дополнительных инструментов. Если вы знаете другие методы обхода данных ограничений в Android 11, делитесь ими в комментариях.
Источник