Системные файлы Андроид
Последние версии 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. без его укоренения?
18 ответов
У меня есть запрос, если я запускаю любое приложение android на своем эмуляторе, я могу проверить его базу данных из файл данных — > данных — > пакет имя папки—> базы данных> база данных name.db а затем получить доступ к нему с помощью SQLite браузер Но если я хочу получить доступ к базе данных.
Я не могу получить доступ к системной папке в android, не укоренив устройство. Также хотел бы знать, можно ли получить доступ во время загрузки телефона android?
Доступ к файлам непосредственно на вашем телефоне затруднен, но вы можете скопировать их на свой компьютер, где сможете делать с ними все, что захотите. Без укоренения у вас есть 2 варианта:
Если приложение отлаживается, вы можете использовать команду run-as в adb shell
В качестве альтернативы вы можете использовать функцию резервного копирования Android.
Теперь вам будет предложено «разблокировать устройство и подтвердить операцию резервного копирования». Лучше всего NOT указать пароль, иначе чтение данных станет более трудным. Просто нажмите на кнопку «Резервное копирование моих данных». Полученный файл » backup.ab » на вашем компьютере содержит все данные приложения в формате резервной копии android. В основном это сжатый файл tar. На этой странице объясняется, как вы можете использовать команду OpenSSL zlib для ее распаковки. Для восстановления резервной копии можно использовать команду adb restore backup.db .
Если вы используете Android Studio 3.0 или более позднюю версию, выполните следующие действия.
- Выберите Вид >Инструмент Windows >Файл устройства Explorer .
- Разверните /data/data/[package-name] узлов.
Вы можете развернуть только пакеты, которые выполняются в режиме отладки на некорневом устройстве.
Вы также можете попробовать извлечь базу данных с помощью приложения root explorer. И если это не сработает, вы можете попробовать это:
- Открыть cmd
- Измените свой каталог и перейдите в ‘Platform tools’
- Тип ‘ adb shell ‘
- su
- Нажмите ‘Allow’ на устройстве
- chmod 777 /data /data/data /data/data/com.application.package /data/data/com.application.package/*
- Откройте DDMS view в Eclipse и оттуда откройте ‘FileExplorer’, чтобы получить нужный файл
После этого вы сможете просматривать файлы на корневом устройстве.
Чтобы сделать что-либо из вышеперечисленного (т. Е. Получить доступ к защищенным папкам из самого телефона), вам все равно нужен root. (Это включает в себя изменение mount-разрешений на папку /data и доступ к ней)
Без root доступ к /data напрямую для чтения, кроме как из приложения через код , невозможен. Таким образом, вы можете попробовать скопировать этот файл на SD-карту или в другое доступное место, а затем вы сможете получить к нему обычный доступ.
Укоренение не аннулирует вашу гарантию, если у вас есть устройство разработчика. Мне очень жаль, но другого выхода нет.
Я создаю веб-сайт с соответствующим приложением для iOS/Android, и я делаю некоторые исследования о том, как я должен все делать. Мне нужно иметь возможность публиковать данные с разных платформ, и я хочу получить доступ к одним и тем же данным с каждой платформы, что-то вроде стены, где ypu может.
Я хочу иметь доступ к logcat для приложения, работающего на устройстве Android TV, но у TV есть только штекер USB, а не микро-USB. В Android TV устройство Запуск пользовательского Android 4.2.1 ROM (от производителя) Не обеспечивает доступ к настройкам устройства Только вилки USB.
Самый простой способ (всего один простой шаг) извлечь файл из отладочной папки приложения (скажем, /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 с устройства .
Используйте файл Explorer в eclipse. Выберите Windows => Показать вид => Другое . => Файл Explorer.
Другой способ-вытащить файл через adb:
Для резервного копирования с Android на рабочий стол
Откройте командную строку cmd и выполните следующее: adb резервное копирование-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). Я создал небольшое стартовое приложение. Указанное приложение сохраняет данные в файл .csv в файле data/data/com.example.myapp/files
Когда я впервые начал пытаться получить доступ к этому файлу на своем Nexus 6, я обнаружил, что мне нужно запустить устройство.. Я мог видеть папку с данными, но попытка открыть ее не сработала. Как упоминалось в Интернете в других местах, расширение + исчезнет, а затем появится вскоре после этого (обратите внимание, в Интернете есть решения, которые утверждают, что разрешают доступ к этим папкам без укоренения, я не нашел их слишком поздно, и я не уверен, что предпочитаю не укореняться в любом случае ((я бы предпочел сделать это вручную, чем полагаться на приложение или командную строку, чтобы дать мне свои решения))). Я укоренил свой 6 и снова попробовал DDMS.
В этот момент он показал мне папку с данными, и я мог развернуть папку и увидеть каталоги com., но я не смог открыть ни один из них. Именно тогда я обнаружил вышеупомянутое решение. Первоначальные инструкции не будут работать в этой части:
Именно тогда я попробовал решение, которое я опубликовал:
Это решение, казалось, работало, но только для определенных папок. Теперь я мог расширить свою папку myapp, но не мог расширить каталог файлов в ней.
В этот момент я немного поиграл, а затем подумал, почему бы просто не попробовать это в нужном мне каталоге, а не пробовать эти записи с подстановочными знаками.
Эти команды позволили мне развернуть и просмотреть файлы в каталоге моего приложения, чтобы убедиться, что .csv был сохранен правильно.
Надеюсь, это кому-то поможет. Я боролся с этим часами!
(как ни странно, разрешения не передавались файлу .csv, который передавался в каталог файлов. мои права доступа к каталогу файлов читать drwxrwxrwx и мои права доступа к файлу log.csv читать -rw-rw—- .. просто к твоему сведению)
Однажды у меня тоже была такая же проблема. Нет никакого способа получить прямой доступ к файлу в android устройствах, кроме adb shell или корневого устройства.
Кроме того, здесь есть 02 альтернативы:
Вы можете скачать такой файл sigle:
adb exec-out run-as debuggable.app.package.name cat files/file.mp4 > file.mp4
Перед загрузкой вы, возможно, не захотите взглянуть на структуру файлов в вашем каталоге приложений. Для этого выполните следующие действия THelper , замеченные выше:
Упомянутый Android-Studio способ Shahidul ( https://stackoverflow.com/a/44089388/1256697 ) также работает. Для тех, кто не видит опцию DeviceFile Explorer в меню: Обязательно откройте /android-Directory в Android Studio. E.g. react-native пользователи имеют это внутри своей папки проекта прямо на том же уровне, что и /ios-Directory.
возможно, для доступа к этой папке вам понадобятся права администратора.
таким образом, у вас есть два варианта:-
- корень вашего устройства, а затем попробуйте получить доступ к этой папке
- использовать эмулятор
p.s. : если вы используете любой из вышеперечисленных двух вариантов, вы можете получить доступ к этой папке, выполнив следующие действия
откройте DDMS перспектива -> ваше устройство ->(Выберите файл Explorer из параметров правого окна) выберите пакет -> данные -> данные -> имя пакета ->файлы
и оттуда вы можете вытащить свой файл
Одним из простых способов является создание базы данных на SD-карте. Потому что вы не можете получить доступ к папке данных вашего телефона во внутренней памяти, если вы не корените свой телефон. Так почему бы просто не создать свою базу данных на SD-карте.
Кроме того, если вы хотите, вы можете написать некоторый код копирования файлов, чтобы скопировать существующий файл базы данных (из внутренней памяти) во внешнюю память, не требуя никакого корня.
adb backup не сработало для меня, поэтому вот что я сделал (Xiaomi Redmi Note 4X, Android 6.0):
1. Перейдите в Настройки > Дополнительные настройки > Резервное копирование & сброс > Локальные резервные копии .
2. Нажмите ‘Back up’ в нижней части экрана.
3. Снимите флажки ‘System’ и ‘Apps’.
4. Нажмите кнопку раскрытия сведений справа от ячейки ‘Apps’, чтобы перейти к экрану выбора приложения.
5. Выберите нужное приложение и нажмите OK.
6. После завершения резервного копирования фактический файл должен быть каким-то образом найден. Мой можно найти по адресу /MIUI/backup/AllBackup/_FOLDER_NAMED_AFTER_BACKUP_CREATION_DATE_ .
7. Затем я последовал шагам из этого ответа по RonTLV , чтобы фактически преобразовать файл резервной копии (в моем случае.bak) в tar (дублирующий исходный ответ): «
а) Перейдите сюда и загрузите: https://sourceforge.net/projects/adbextractor/
б) Извлеките загруженный файл и перейдите в папку, из которой вы его извлекли.
c) запустите это с вашими собственными именами файлов: java -jar abe.jar распакуйте c:\Intel\xxx.ab c:\Intel\xxx.tar «
вы можете скопировать этот файл бд куда-нибудь в eclipse explorer (eg:sdcard или PC),и вы можете использовать sqlite для доступа и обновления этого файла бд .
Вопрос в следующем: how-to-access-data-data-folder-in-android-device?
Если android-устройство Bluestacks * Корневой браузер APK показывает data/data/..
Если файл является текстовым файлом , вам нужно нажать на «Open as», «Text file», «Open as», «RB Text Editor»
Вы также можете попробовать скопировать файл в папку SD-карты, которая является общей папкой, затем вы можете скопировать файл на свой PC, где вы можете использовать sqlite для доступа к нему.
Вот код, который вы можете использовать для копирования файла из data/data в общую папку хранения:
SQLlite база данных хранится на телефоне пользователя и скрывается под path:
у вас есть 2 варианта здесь:
- вы можете укоренить свой телефон, чтобы получить доступ к просмотру вашего скрытого файла db3
- это не решение,а обходной путь. Почему бы просто не создать тестовую страницу, которая отображает в ней вашу таблицу базы данных с помощью ‘select’ statment.
Похожие вопросы:
Я хочу получить доступ к папке databases на моем устройстве, потому что она содержит файл БД, который я хочу зашифровать с помощью алгоритма AES (и расшифровать перед вызовом класса SQLiteOpenHelper.
http:/ / mascwt.oicp.net:7080/Monitoring/Data/getOrgData / это адрес url. Как получить доступ к данным url return? url нужно вернуть json данных. Он может получить доступ к возвращаемым данным. Я.
Если я хочу получить данные из своей базы данных (например , о встрече ) в календарь в >android phonegap , как я могу просмотреть календарь и получить доступ к данным из базы данных?
У меня есть запрос, если я запускаю любое приложение android на своем эмуляторе, я могу проверить его базу данных из файл данных — > данных — > пакет имя папки—> базы данных> база данных name.db а.
Я не могу получить доступ к системной папке в android, не укоренив устройство. Также хотел бы знать, можно ли получить доступ во время загрузки телефона android?
Я создаю веб-сайт с соответствующим приложением для iOS/Android, и я делаю некоторые исследования о том, как я должен все делать. Мне нужно иметь возможность публиковать данные с разных платформ, и.
Я хочу иметь доступ к logcat для приложения, работающего на устройстве Android TV, но у TV есть только штекер USB, а не микро-USB. В Android TV устройство Запуск пользовательского Android 4.2.1 ROM.
Хорошо, я искал и искал без всякого успеха кого-то с подобным вопросом. Я разрабатываю приложение Android с использованием Android Studio и начал создавать свою базу данных SQLite. Чтобы проверить.
В проекте Flutter, как получить (абсолютный) путь к папке Загрузки в моем устройстве Android? Моя папка скачать рядом те один: сигнализация, Android, сведения, DCIM, документы, Фильмы, Музыка.
Я работаю над кодом php, как показано ниже, в котором я хочу получить доступ к папке сетевого диска (музыка), используя учетные данные в php. Учетные данные устанавливаются, потому что я хочу.
Источник