- Как найти папки data и system на Android: простой путь
- Как получить доступ к папке данных / данных на устройстве Android?
- Для резервного копирования с Android на рабочий стол
- Чтобы извлечь файл * .ab
- Как установить кэш в /obb и /data на Android 11 без Root
- Содержание
- Подготовка
- Как скопировать кеш в Android/obb или Android/data на Android 11
- Как удалить кеш из Android/obb или Android/data на Android 11
- Вывод
Как найти папки data и system на Android: простой путь
Иногда пользователю устройства с системой от Google приходится столкнуться с нетривиальными задачами, решение которых требует сначала найти папки data и system, где находятся важные файлы. Как это сделать на Android, мы расскажем в статье.
В первую очередь, пользователю понадобится файловый менеджер, который показывает не разбивку по мультимедийным данным, а реальное содержание диска. Иногда такие менеджеры встроены в прошивку, в противном же случае можно обратиться в Play Store, где есть и бесплатные варианты.
Далее с помощью него выходим в корень системы, обозначенный как «/». В ряде менеджеров для быстрого доступа к оному есть отдельный пункт в Action Bar, а где-то нужно просто нажать на знак «..» или выбрать «Корень файловой системы». Именно тут на Android и можно обнаружить папки data и system, имена их, кстати, тоже начинаются с косой черты.
Стоит обратить внимание, что данные разделы, особенно второй, содержат критически важную информацию. Если у пользователя имеется root‑доступ и он удалит файлы в папках data и system, это может вызвать проблемы с работоспособностью устройства.
Заметили ошибку? Выделите её и нажмите Ctrl+Enter или сообщите здесь.
Источник
Как получить доступ к папке данных / данных на устройстве 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, делитесь ими в комментариях.
Источник