Не могу открыть папку data android

Как найти папки 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 или более позднюю версию, выполните следующие действия.

  1. Нажмите « Просмотр» > « Инструмент Windows» > « Обозреватель файлов устройства» .
  2. Разверните / data / data / [имя-пакета] узлы.

Вы можете разворачивать пакеты, которые работают в режиме отладки, только на некорневом устройстве.

Вы также можете попробовать получить базу данных с помощью приложения root explorer. И если это не работает, то вы можете попробовать это:

  1. Открыть cmd
  2. Измените каталог и перейдите в «Инструменты платформы»
  3. Тип ‘ adb shell ‘
  4. su
  5. Нажмите «Разрешить» на устройстве
  6. chmod 777 /data /data/data /data/data/com.application.package /data/data/com.application.package/*
  7. Откройте представление DDMS в Eclipse и оттуда откройте FileExplorer, чтобы получить нужный файл

После этого вы сможете просматривать файлы на рутированном устройстве.

Чтобы сделать что-либо из вышеперечисленного (например, получить доступ к защищенным папкам из самого телефона), вам все еще нужен root. (Это включает изменение разрешений на монтирование для папки / data и доступ к ней)

Без root невозможно получить /data прямой доступ для чтения, кроме как из вашего приложения через код. Таким образом, вы можете попробовать скопировать этот файл на SDCard или куда-нибудь доступный, и тогда вы сможете получить к нему обычный доступ.

Rooting не аннулирует вашу гарантию, если у вас есть устройство разработчика. Извините, по-другому, AFAIK, нет.

Самый простой способ (всего один простой шаг) извлечь файл из папки отлаживаемого приложения (скажем /data/data/package.name/databases/file ) на некорневом устройстве Android 5.0+ с помощью этой команды:

  1. Откройте командную строку
  2. Перейдите в каталог E: \ Android \ adt-bundle-windows-x86_64-20140702 \ adt-bundle-windows-x86_64-20140702 \ sdk \ platform-tools
  3. Введите ниже команды
  4. adb -d shell
  5. run-as com.your.packagename cat databases/database.db > /sdcard/database.db
  6. Перейдите в каталог, чтобы cd /sdcard убедиться, что database.db он есть.
  7. 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

  1. Зайдите сюда и загрузите: https://sourceforge.net/projects/adbextractor/
  2. Распакуйте загруженный файл и перейдите в папку, в которую вы распаковали.
  3. запустите его со своими собственными именами файлов: 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, делитесь ими в комментариях.

Источник

Оцените статью