Где android хранит данные
Обычно для этого требуется разблокировать загрузчик устройства, после чего вся информация которая не была сохранена будет утеряна. Подробнее вы можете найти в теме вашего устройства на 4pda.
В той же теме, наверняка будет инструкция, как получить Рут доступ, например через Magisk.
Однако, после этого возможно придется установить фикс, чтобы работал гугл пей и NFC оплата.
Если вы забрались так далеко, можете в теме вашего устройства посмотреть другие прошивки, на случай, если ваше устройства давно не обновлялось, и у него старые патчи безопасности. Обновление системы безопасности Android
C помощью этого кастом Рекавери забекапить нужную инфу. (Надо иметь ввиду, что там не всегда будут доступны для бэкапа абсолютно все разделы, но нужные, с прошивкой и данными должны быть).
Обычно бэкапят Data, System, Boot и Vendor (если есть). Есть и другие разделы, содержащие например IMEI, об этом ниже:
Так же может присутствовать «внутренний накопитель» или internal storage (user data), это все эти файлы и папки которые вы видите в памяти телефона без Рут доступа, но кастом рекавери разделил таким образом Data и Data/media.
Не много подробнее о назначении разделов:
Boot — Загрузка андроида начинается с раздела boot — там хранится в том числе ядро системы.
System — Затем загружается прошивка — system. Часто ее можно скачать отдельно, так что потерять в принципе не жалко.
Vendor раздел отвечает за правильную работу устройства, он тоже часто идет вместе с прошивкой, так что его можно достать из официальной прошивки с сайта производителя или на странице вашего устройства на 4пда
Ну и Data это конкретно ваша инфа, приложения настройки и сохранения игр все тут) Как я уже писал, бывает Рекавери разделяет дату и внутренний накопитель (Data/media), так вот, на внутреннем накопителе хранится то, что вы и сами могли видеть в памяти телефона фотки и тд.
Еще тут описывал, что там хранится.
Надо учитывать, что data раздел обычно зашифрован, в заводском состоянии, поэтому с помощью кастом Рекавери его форматируют и потом уже загружают прошивку.
Часто не лишним будет сохранить и другие важные разделы, на всякий случай:
EFS — Тут хранятся WiFi/BlueTooth MAC’s, IMEI, в общем все то, что вы не хотели бы потерять) (Схема с восстановлением, (MODEMST1, MODEMST2, FSG, BACKUP) где fsg или backup соответственно хранят инфу модемов на случай утери)
Persist — Этот раздел содержит данные калибровки сенсоров wifi, bluetooth, camera, DRM , sns.reg, и тд, тоже
Например у меня после смены прошивок поменялся Persist раздел, и при перезагрузке телефона писалось «Хранилище повреждено, устройство под угрозой (в опасности)»
Восстановление раздела из бэкапа помогло.
Ну и всякое прочее, вроде
CUST (так же CUSTOM или PRELOAD в некоторых случаях) — Предзагруженные приложения и региональные настройки, устанавливаемые при первом запуске. Иногда при смене прошивки на кастом нужно очистить этот раздел.
MISC (FOTA на старых устройствах) — Раздел на котором хранится информация для bootloader, что за чем загружать, или запустить рекавери, если OTA обновление не удалось. Если удалить, система будет грузится как обычно, то есть boot затем system.
Есть такие приложения для бэкапа данных с использованием Рут прав, например ® Titanium Backup
Однако, стоит учесть, что он не бэкапит папки приложения размещенные в общедоступной памяти телефона, т.е. (data/media)
Отдельно хочу отметить молодое (могут присутствовать баги) приложение, которое может создавать резервные копии пригодные для восстановления через кастом Рекавери, TWRP:
®Migrate
Удобно, когда нужно перенести данные на другую прошивку.
Когда Рут есть, можно так же с помощью ADB пробовать. (Или Adb Run)
Для аппаратов на базе SoC Qualcomm HDDRawCopy eMMC RAW Tool
Владельцам устройств с процессорами МТК при наличии пк можно скопировать полный образ всех данных (вообще всех) через flashtool
Готовый raw образ можно разбить на разделы и сконвертировать в пригодный для последующей прошивки вид с помощью этой утилиты
WwR MTK
Но чтобы прошить через ADB надо будет различить бутлоадер, или загрузчик, по нашему)
Надо учитывать что без форматирования через кастом Рекавери data раздел будет зашифрован, а пароля вы конечно не знаете)
Поэтому такой бэкап можно использовать (восстанавливать) в исходном виде, или использовать не зашифрованные разделы.
А так, кастом Рекавери может все стереть, а заодно и шифрование, чтобы в будущем бэкап был читаемым.
Тут тоже указаны некоторые утилиты для работы с файловой системой https://habr.com/ru/post/236397/
И вот для устройств с процессором Qualcomm и emmc памятью.
Восстановление и решение проблем с eMMC
Создан набор скриптов Windows (.cmd-файлы) для резервного копирования/восстановления разделов с помощью утилиты emmcdl (часть проекта Android-хост-knife).
Скачать:eMMC_DL_Tool_for_customer_ENG_V5.2.0R.zip (12.92 МБ)
Работа с программой:https://freeandroidroo…download-emmc-dl-tool/
Проверено на RN3P, но может быть использован с другими компании Qualcomm-устройств.
emmcdl использует «знакомый» модуль для взаимодействия с внутренней памяти устройства в режим 9008/edl. С prog_emmc_firehose_8976_ddr.mbn от «быстрой загрузки» прошивки, считывание/запись Таблица разделов и разделов (в том числе энергонезависимой, как modemst1/2,fsg etc.).
В этом списке раздела, успешно восстанавливаются IMEI телефона, MАС-адреса и статус загрузчика разблокировки после случайного повреждения памяти.
Может быть использован для создания файлов rawprogram0.xml прошивки с помощью MiFlash (рекомендуется) или другая утилита от Qualcomm.
qcpartsbackup11.7z (73.11 КБ)
. Не для новичков! Взято отсюда.
Сообщение отредактировал konstantinqq — 24.04.21, 08:52
Как сохранить резервную копию сразу на компьютер.
Очень полезно в тех случаях, когда под рукой нет подходящего размера флешки.
Можно конечно в кастом Рекавери смонтировать OTG накопитель, типа внешнего жесткого диска, но это такое.
При помощи ADB:
ADB и все, что с помощью него можно сделать
Или утилита в которой не надо вручную вводить команды
® Adb Run
Или так https://habr.com/ru/post/236397/
(Там что то писали про бэкап через кастом Рекавери сразу в пк.
Через кастом Рекавери:
Смонтируйте разделы, и скопируйте с помощью ADB.
Для удобства, на пк я использую файловый менеджер total Commander с плагином adb.
Разделы видятся как папки, соответственно скопировать можно файлы внутри.
Адб работает и без кастомного Рекавери с включенной отладкой по USB, но в этом случае может не хватить прав, чтобы работать с системными файлами.
Сообщение отредактировал konstantinqq — 25.10.20, 10:42
Хотелось бы больше и лучше, поэтому если есть желание — делитесь.
Кому не понятно, напишите понятно и добавьте в шапку)
Да я упомянул не все способы, но вы можете упомянуть их сами, поделившись с другими полезной информацией.
Если кому интересно как я делал полный бэкап телефона на МТК, с одним только флештулом и как создал с нуля scatter файл, в котором вся инфа о разделах. Blackview BV9100 — Обсуждение (Пост konstantinqq #89796538)
PS
Передавать данные на пк в режиме «передача данных» (MTP) может быть небезопасно если кабель не качественный, поэтому лучше пользуйтесь ADB (я например, активирую режим отладки в телефоне, подключаю к пк, и в качестве файлового менеджера использую Total Commander с плагином ADB, режим Native 8.1. При этом, при первом подключении нужно на телефоне нажать разрешить этому компьютеру отладку, если спросит.
Пс
Что делать, если раздел system только для чтения? Ответ
Сообщение отредактировал konstantinqq — 12.05.20, 19:50
Доброго времени суток.
Добавлено 18.06.2020, 14:56:
Доброго времени суток. Народ помогите ,кто знает.После восстановления бекапа через TWRP Recovery не восстановились фото и видео. Приложения и настройки , сообщения,контакты встали. А фото и видео почемуто не вскрываются.Не сколько раз делал. Ничего.
Источник
Где хранятся сохранения игр на Android
Вариант 1: Google Диск
Большинство современных игр для Android делают облачные сохранения, чаще всего на Google Диске. Получить к ним доступ можно следующим образом:
- Откройте приложение Гугл Диска. Если по каким-то причинам оно отсутствует на вашем устройстве, скачайте его по ссылке далее.
Откроется список содержимого вашего хранилища. Директории обычно располагаются в самом верху – среди них должны находиться и каталоги игр. На скриншоте ниже для примера показаны сохранения эмулятора Nintendo DS, который называется DraStic.
С этими данными можно делать всё то же, что и с любыми другими файлами.
Если же на Гугл Диске каталог игры отсутствует, это означает, что сохранения находятся на серверах разработчиков и обычным способом к ним невозможно получить доступ, либо же данные хранятся локально.
Вариант 2: Локальные файлы
Некоторые игры сохраняют прогресс локально, точно так же, как и подобные программы на настольных ОС. Для того чтобы найти соответствующие файлы, надо пройти два этапа: определение имени каталога, в котором сохранения находятся, и непосредственно его открытие.
Этап 1: Получение названия папки
В Android папки приложений называются по имени установочного пакета. Выяснить его поможет средство APK Extractor.
Запустите приложение и прокрутите список до нужной игры. Под основным названием будет указано имя пакета.
Эта информация пригодится нам далее.
Этап 2: Переход к папке
Большинство простых игр без файлов кэша или любых дополнительных данных создают сохранения в папке Android во внутреннем хранилище устройства. В «чистом» Андроид 10 уже есть встроенный файловый менеджер, воспользуемся им для перехода к нужной папке.
- Большинство простых игр создают сохранения в каталоге Data. Запустите «Файлы», после чего тапните по кнопке с тремя полосками и выберите внутренний накопитель смартфона.
Зайдите в папку Android, затем – data.
Откроется перечень каталогов, каждый из которых принадлежит тому или иному приложению. Воспользуйтесь полученными на Этапе 1 сведениями и откройте папку игры, которая вас интересует.
Игры, полученные из источников, отличных от Плей Маркета, нередко помещают данные в другие папки – в частности, Android/games или же свои собственные в корне хранилища.
С сохранениями можно делать всё то, что позволяет работа с файлами в ОС Андроид: копировать, перемещать или даже удалять, если в этом будет необходимость.
Помимо этой статьи, на сайте еще 12470 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Где приложения Android хранят данные?
Не могли бы вы перечислить все возможные каталоги, где приложения Android могут хранить данные, предоставив описание, какие данные хранятся в каждом каталоге?
Все приложения (корневые или нет) имеют каталог данных по умолчанию, который является /data/data/
. По умолчанию базы данных приложений, настройки и все остальные данные находятся здесь. Если приложение ожидает, что будут храниться огромные объемы данных, или по другим причинам хочет «быть хорошо со встроенным хранилищем», на SDCard ( Android/data/
) имеется соответствующий каталог .
Кроме того, все приложения могут хранить данные в любом месте на SDCard, поскольку нет никаких ограничений — и многие приложения делают это. Они могут свободно использовать имена каталогов (и они снова используют), что часто затрудняет решение, для чего предназначен весь этот «мусор» на карте, и что из него можно удалить.
Хотя, как отметил Том , root-приложения могут хранить свои данные практически везде на вашем устройстве, они обычно следуют тем же правилам, что и другие приложения.
Вы можете найти общее объяснение иерархии каталогов Android в моем ответе здесь . Для вашего конкретного вопроса я мог бы добавить более подробную информацию о /data/data/
(и соответствующей SD-части):
- databases/ : здесь идут базы данных приложения
- lib/ : библиотеки и помощники для приложения
- files/ : другие связанные файлы
- shared_prefs/ : настройки и настройки
- cache/ : ну кеширует
В этом месте может быть еще несколько каталогов или меньше — все зависит от приложения. В своем собственном «домашнем каталоге» (и это то, чем он в основном является, говоря по Linux), они могут размещать файлы там, где они хотят. Обычно эти файлы и каталоги доступны только для самого приложения (и, конечно, для пользователя root) — кроме тех, которые хранятся на SDCard и доступны всем приложениям.
Источник
Хранение данных в Android
В прошлом своем посте я писал о создании всплывающих менюшек, сегодня же мы поговорим о более важной теме такой, как хранение данных. В android есть несколько способов хранения данных: общие настройки, бд и тд. В этом посте я расскажу о том как хранить данные в БД.
В качестве БД android использует встраиваемую SQLite. SQLite очень быстрая база, поэтому ее использование на мобильной платформе не приводит к резкому уменьшению производительности. Перейдем к описанию кода. Гугл позаботился о наших нервах и написал небольшой класс утилиту SQLiteOpenHelper.
public class DbOpenHelper extends SQLiteOpenHelper<
private static final int DB_VERSION = 1;
private static final String DB_NAME = «test» ;
public static final String TABLE_NAME = «users» ;
public static final String LOGIN = «login» ;
public static final String PASSW = «passw» ;
private static final String CREATE_TABLE = «create table » + TABLE_NAME + » ( _id integer primary key autoincrement, »
+ LOGIN + » TEXT, » + PASSW + » TEXT)» ;
public DbOpenHelper(Context context) <
super(context, DB_NAME, null ,DB_VERSION);
>
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) <
sqLiteDatabase.execSQL(CREATE_TABLE);
>
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) <
>
>
* This source code was highlighted with Source Code Highlighter .
При создании экземпляра класса DbOpenHelper будет проверено, существует ли база с именем test, если существует, то будет вызван метод onUpgrade, если нет то onCreate в котором мы создаем таблицу users(обычно в этом методе создают таблицы и инициализируют их значениями по умолчанию). У класса SQLiteOpenHelper есть методы getReadableDatabase и getWritableDatabase, которые возвращают экземпляр класса SQLiteDatabase. С помощью этого экземпляра мы и будет работать с БД. У него есть все нужные нам методы: insert, update, query, delete и тд.
Напишем небольшое приложение сохраняющее логин и пароль в базу
public class TestActivity extends Activity <
EditText loginEditText = null ;
EditText passEditText = null ;
Button saveButton = null ;
@Override
public void onCreate(Bundle savedInstanceState) <
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
loginEditText = (EditText) findViewById(R.id.login);
passEditText = (EditText) findViewById(R.id.passw);
saveButton = (Button) findViewById(R.id.btn1);
saveButton.setOnClickListener( new View.OnClickListener() <
public void onClick(View view) <
DbOpenHelper dbOpenHelper = new DbOpenHelper(TestActivity. this );
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(DbOpenHelper.LOGIN,loginEditText.getText().toString());
cv.put(DbOpenHelper.PASSW,passEditText.getText().toString());
db.insert(DbOpenHelper.TABLE_NAME, null ,cv);
db.close();
loginEditText.setText( «» );
passEditText.setText( «» );
>
>);
>
>
* This source code was highlighted with Source Code Highlighter .
Источник