Как я могу извлечь базу данных sqlite с устройства Android?
Как вытащить базу данных sqlite из устройства Android, такого как эмулятор?
ОТВЕТЫ
Ответ 1
Вы можете использовать эти команды для вытаскивания базы данных с вашего устройства. Написание этих команд через студию Android очень просто. Убедитесь, что вы установили путь к adb глобально в вашу систему. Затем откройте «терминал» снизу до студии Android и рядом с «Android Monitor». Теперь вы просто обновляете следующие команды с фактическим именем пакета вашего приложения и именем файла базы данных. Вы получите файл с устройства.
команда для Android 5.0+/data/data/package.name/databases/file будет:
Ответ 2
- подключите устройство к компьютеру
- откройте командную строку в /sdk-directory/tools
- type adb pull /data/data/com.example.app/databases/database.db
где com.example.app — ваше имя пакета приложения, а database.db — файл базы данных
что в случае, если ваше устройство укоренилось, если не попробовать следовать
Ответ 3
Лучший способ просмотра и управления вами базы данных приложений Android — использовать эту библиотеку https://github.com/sanathp/DatabaseManager_For_Android
Его единственный файл активности java, просто добавьте java файл в исходную папку, вы можете просматривать таблицы в базе данных приложений, обновлять, удалять, вставлять строки в таблицу. Все, что из вашего приложения.
Когда разработка завершена, удалите java файл из вашей папки src.
Это очень помогло мне. Надеюсь, это тоже поможет.
Вы можете посмотреть 1-минутную демонстрацию здесь: http://youtu.be/P5vpaGoBlBY
Ответ 4
Ответ 5
Я знаю, что это старый вопрос, однако это то, что я сделал, чтобы вытащить файл базы данных SQLite из приложения на устройство.
- Сохранение файла из пакета приложения на устройство sdcard
adb -d shell «run-as com.dautechnology.abdimuna.smartparking cat /data/data/ /databases/ > /sdcard/ «
Вышеприведенная команда сохранит файл на /sdcard Вы можете проверить файл на adb shell ls sdcard/ Затем выйдите из оболочки adb, набрав exit
- Вытащите файл из SD карты в текущее рабочее место.
adb pull sdcard/ 3. Переместите файл на Рабочий стол или место вашего желания.
Я надеюсь, что это поможет кому-то там.
Ответ 6
Если вы используете eclipse, перейдите в режим DDMS. из вкладки «Проводник» → data- > data- > имя пакета приложения- > databases- > имя базы данных
выберите файл базы данных базы данных, затем нажмите кнопку pull
Ответ 7
Вы можете пропустить все эти средние этапы с помощью одной команды.
В оболочке вашего ПК:
Ответ 8
Ответ 9
Сделайте это программно в приложении
Убедитесь, что предоставлено разрешение
Ответ 10
с версии 24 и далее я использую эти команды для загрузки базы данных
Источник
Android как вытащить базу данных
Ни для кого не секрет, что с нашими «умными» устройствами может произойти всякое, в том числе и такая неприятная поломка как разбитый тачскрин. Что делать в таком случае? Ведь в нем остались все наши данные: контакты, сообщения и пр.
Конечно, самым простым решением будет замена поврежденного экрана. Но если его нет, а данные нужны вчера? В этой теме постараемся собрать все возможные способы восстановления необходимых нам данных.
1. Самое очевидное — меняем тачскрин. Где взять? Спрашиваем в теме аксессуаров своего устройства или тут.
2. Если аппарат поддерживает протокол MHL, можно попробовать подключить его по HDMI к монитору или телевизору. Подключаем мышь по Bluetooth или USB и в случае успешного подключения пробуем сохранить свои данные на карту памяти.
3. Если была включена отладка по USB то пробуем через ADB командой
или чрез приложение QtADB. Подробнее про ADB можно почитать в этой теме ADB и все что с помощью него можно сделать
4. Пробуем достать контакты с помощью приложения MyPhoneExplorer. Ставим и копируем содержимое в компьютер. Телефонная часть программы устанавливается без подтверждения с дисплея. Отладка по USB должна быть включена!
Сообщение отредактировал KEEPERekb — 23.03.19, 22:47
Помогите вытащить контакты!
Fly IQ440
ОС и прошивка: Android 4.0.4
Есть стоковый телефон Fly IQ440 с разбитым стеклом экрана. Стекло сняли. Тач, само собой, не работает, но экран и изображение в полном порядке. Все что осталось от сенсора это небольшой шлейф, торчащий возле экрана. При касании к шлейфу телефон реагирует, но очень непредсказуемо и сделать что-то толковое таким образом почти нереально.
Задача — вытащить контакты, которые лежат в памяти телефона.
Сам я пару дней искал информацию в интернете и на этом форуме, делал попытки восстановить контакты, но все решения, которые я находил требуют включения отладки по USB или плюс к ней еще и рут. Попытки включить отладку путем мацанья шлейфа не увенчались успехом. Максимум, мне удалось зайти в настройки и проскролить до пункта «для разрабочиков», но попасть по нему так и не вышло. Думал про управление смартом через вай фай или блютуз (их включить не составляет особого труда), но все что нашел — требует предварительной установки приложения на смарт. Также пробовал подключать мышку через OTG кабель с активным питанием — не определяется.
В итоге, я решил спросить совета у вас. Возможно, конкретно в такой ситуации есть какие-то способы восстановления контактов?
:thank_you:
Сообщение отредактировал SileLence — 05.08.14, 14:41
Всем спасибо, вопрос решился общими усилиями коллег на работе. При этом решился до смешного просто — без прошивок, кабелей и левого софта. Описываю!
Возникла идея попробовать зайти в системное меню телефона. Сначала попробовал включить с зажатыми «power» и «volume-«, но толкового там ничего нет, а потом включил «power» + «volume+» и там нашелся интересный пункт меню «backup user data». Управление в меню осуществляется с помощью клавиш громкости и включения. Забыл сказать, перед этим вставил карту памяти в телефон.
Началось копирование бекапа весом 144 мб. Когда закончилось, флешку извлек, вставил в компьютер и обнаружили файл с расширением .backup, распаковал с помощью 7zip. Полученный файл опять распаковал и увидел кучу папок. По пути
лежит заветный contacts.db.
Дальше выполнил первые два пункта из этого поста и запрос из этого. Полученный файл открыл Экселем.
Всем спасибо, надеюсь, мой опыт кому-то поможет :thank_you:
Сообщение отредактировал SileLence — 05.08.14, 16:27
Отладка по USB не включена.
Дисплеи не рабочий.
сем спасибо, вопрос решился общими усилиями коллег на работе. При этом решился до смешного просто — без прошивок, кабелей и левого софта. Описываю!
Возникла идея попробовать зайти в системное меню телефона. Сначала попробовал включить с зажатыми «power» и «volume-«, но толкового там ничего нет, а потом включил «power» + «volume+» и там нашелся интересный пункт меню «backup user data». Управление в меню осуществляется с помощью клавиш громкости и включения. Забыл сказать, перед этим вставил карту памяти в телефон.
Началось копирование бекапа весом 144 мб. Когда закончилось, флешку извлек, вставил в компьютер и обнаружили файл с расширением .backup, распаковал с помощью 7zip. Полученный файл опять распаковал и увидел кучу папок. По пути
/data/data/com.android.providers.contacts/databases/
лежит заветный contacts.db.
Дальше выполнил первые два пункта из этого поста и запрос из этого. Полученный файл открыл Экселем.
Всем спасибо, надеюсь, мой опыт кому-то поможет
SileLence, Привет,ты уверен,что распаковывал с помощью 7-зип? Просто таже самая ситуация, но 7-зип не распаковывает, говорит,что не его формат.
Для распространенных моделей аппаратов, и в крупных городах, иногда можно обойтись без замены экрана как такового.
Надо «всего лишь» найти сервис, в котором часто ремонтируют подобную модель аппарата, в таких сервисах часто у может быть найдет просто рабочий, пусть и не новый, тачскрин (или экранный модуль) для Вашей модели аппарата.
В этом случае, часто можно договориться за умеренную плату установить временно рабочий тачскрин на Ваш поврежденный аппарат, и извлечь из него данные, даже не собирая аппарат, а «на весу».
Видимо этим вариантом и займусь..
п.с. через ADB пишет, что device unauthorized. Вот только мне кажется, что я точно включал отладку по USB когда делал рут права(( С этим уже ничего не поделать?
Контакты Android хранятся в директории /data/data/com.android.providers.contacts/databases/ в файле contacts.db или на некоторых прошивках contacts2.db.
Данный файл является базой данных sqlite и может быть прочитан с помощью соответсвующего программного обеспечения.
Теперь как я доставал контакты с телефона у которого отказал сенсор. Экспорт контактов никогда не производился, была отключена функция отладки по USB, и пользуясь способом способом, 7zip не смог распаковать .backup сделанный стандартным рекавери, а adb почему-то не видел требуемые файлы в папке
data.
Находим на 4pda информацию по установке ClockworkMod recovery (CWM) FAQ по ClockworkMod recovery для вашего девайса и качаем требуемые файлы.
Для этого как правило нам понадобятся:
1. драйвера для подключения девайса к компьютеру
2. recovery.img — образ CWM
3. fastboot или FlashTool — потребуется для прошивки образа CWM в девайс, выбирайте более понятный для вас
4. нужен будет архиватор для распаковки файла резервной копии (я использовал 7zip)
5. и какую-нибудь программку для работы с базами данных (я использовал sqlitestudio)
теперь переходим к действиям по вытаскиванию нужной инфы:
1. по скачиванию и установке драйверов, образов и программ писать особо не буду большая часть должна быть описана в инструкции к вашему девайсу на 4PDA и делается почти везде одинаково
2. установив CWM пробуем войти в него (обычно для этого требуется зажать кнопку включения и увеличения/уменьшения громкости)
3. там выбираем пункт по созданию бэкапов ‘buckup and restore’ и делаем его на флэшку ‘Buckup’ 🙂
4. скачиваем с флэшки на комп файлик data.ext4.tar, он должен быть в папке clockworkmod/backup (в название так же будет фигурировать дата ее создания)
объясню смысл текущего запроса
создаем табличку с колонками normalized_number, display_name на основе таблиц phone_lookup, raw_contacts
при условии, что данные из таблицы phone_lookup и колонки raw_contact_id = данным из таблицы raw_contacts колонки contact_id
исходя из этого кода могу предположить, что:
есть некие таблицы в которых есть колонки, в каждой из которой хранятся однотипные данные, в нашем случае это номера строк, имя и номер телефона
phone_lookup
raw_contact_id | normalized_number
1 |+79001111111
2 |+79002222222
raw_contacts
contact_id | display_name
1 |Вася
2 |Петя
т.е. мы с помощью нашего запроса получаем новую табличку, строки которой формируются из строк двух исходных путем их объединения
причем в одну строку поподают данные где raw_contact_id = contact_id
normalized_number|display_name
+79001111111|Вася
+79002222222|Петя
запросов уйма, т.к. почти в каждой таблице данные дублируются, доставать имя и телефон можно из разных таблиц и колонок, посмотрев все таблички и найдя нужные данные.
Можно на основе данного запроса сделать свой
SELECT ‘колонки через запятую’ FROM ‘таблицы через запятую’ WHERE ‘условие’
‘колонки через запятую’ можно писать в таком виде [таблица].[колонка] квадратные скобки можно опустить, но они могут спасти от ошибок, если вдруг названия таблиц/колонок имеют названия зарезервированных команд. Здесь мы через запятую указываем, какие данные хотим видеть в новой таблице
‘таблицы через запятую’ можно писать в таком виде [таблица]. Здесь мы указываем данные из каких таблиц мы хотим получить
‘условие’ можно писать в таком виде [таблица1].[колонка1] = [таблица2].[колонка2], так же условий может быть несколько и они пишутся через логические операторы and и or, а так же могут группироваться с помощью круглых скобок. Условия нужны, чтобы объединить данные нескольких таблиц и с их помощью можно задавать фильтры. Например, если мы добавим в конце нашего запроса строку из одинарных кавычек ‘ AND display_name = «Саша»‘, то в нашей таблице окажутся не все контакты из нашего листа, а только номера телефонов людей которых зовут «Саша».
так же я обнаружил в данной базе давно удаленные номера, возможно это будет кому-то интересно.
таким же способом можно достать SMS из файла /data/data/com.android.providers.telephony/databases/mmssms.db
в файле data.ext4.tar лежат все пользовательские файлы, которые вам может понадобиться забрать с девайса
Сообщение отредактировал Gridzilla — 30.09.14, 12:17
Источник
Как вытащить базу данных sqlite с устройства Android?
Как вытащить базу данных sqlite из устройства Android, например, эмулятора?
Вы можете использовать эти команды для вытаскивания базы данных с вашего устройства. Набирать эти команды через студию Android очень легко. Убедитесь, что вы установили путь adb глобально к своей системе. Затем откройте «терминал» снизу до студии Android и рядом с «Android Monitor». Теперь вы просто обновляете следующие команды с фактическим именем пакета вашего приложения и именем файла базы данных. Вы получите файл с устройства.
Команда для Android 5.0+ /data/data/package.name/databases/file будет:
- Подключите устройство к компьютеру
- Открыть командную строку в /sdk-directory/tools
- Type adb pull /data/data/com.example.app/databases/database.db
Где com.example.app – это имя вашего прикладного пакета, а database.db – файл базы данных
Это на случай, если ваше устройство укоренилось, если не попробовать
Лучший способ просмотреть и управлять вашей базой данных приложений Android – использовать эту библиотеку https://github.com/sanathp/DatabaseManager_For_Android
Его единственный файл активности java, просто добавьте java-файл в исходную папку, вы можете просматривать таблицы в базе данных приложений, обновлять, удалять, вставлять строки в таблицу. Все, что из вашего приложения.
Когда разработка завершена, удалите файл java из папки src.
Это очень помогло мне. Надеюсь, это тоже поможет.
Вы можете посмотреть 1-минутную демонстрацию здесь: http://youtu.be/P5vpaGoBlBY
Если вы используете eclipse, перейдите в режим DDMS. Из вкладки «Проводник» -> data-> data-> имя пакета приложения-> databases-> имя базы данных
Выберите базу данных db-файла, затем нажмите кнопку pull
Я знаю, что это старый вопрос, однако это то, что я сделал, чтобы вытащить файл базы данных SQLite из приложения на устройство.
- Сохранение файла из пакета приложения на SD-карту устройства
adb -d shell «run-as com.dautechnology.abdimuna.smartparking cat /data/data/ /databases/ > /sdcard/ «
Вышеприведенная команда сохранит файл на / sdcard. Вы можете проверить файл с помощью adb shell ls sdcard/ Затем выйти из оболочки adb, набрав exit
- Вытащите файл из SD карты в текущее рабочее место.
adb pull sdcard/ 3. Переместите файл на Рабочий стол или место вашего желания.
Источник