Я использую Android Studio для разработки своего приложения с момента его выпуска.
До недавнего времени все работало хорошо, приходится отлаживать вместе с проверкой файла базы данных. Поскольку я не знаю, как просмотреть базу данных напрямую, при отладке для создания файла базы данных я должен экспортировать файл базы данных со своего телефона на ПК.
Для этого мне нужно открыть DDMS > File Explorer
. Как только я открываю DDMS, мне нужно снова подключить USB, и я теряю поток отладки. После проверки файла базы данных я должен закрыть DDMS и снова подключить USB, чтобы вернуться в режим отладки.
Это слишком сложно. У кого-нибудь есть лучший способ сделать это в Android Studio (я знаю, что в Eclipse это проще)?
android
android-studio
android-sqlite
ddms
Скотт Чжу
источник
источник
Ответы:
Просмотр баз из Android Studio:
Изменить: Чтобы просмотреть базу данных на эмуляторе, выполните следующие действия (для реального устройства, прокрутите вниз):
Загрузите и установите SQLiteBrowser .
Скопируйте базу данных с устройства на компьютер:
Версии Android Studio <3.0 :
Открыть DDMS через
Tools > Android > Android Device Monitor
Нажмите на ваше устройство слева.
Вы должны увидеть ваше заявление:
Перейдите в Проводник (одна из вкладок справа), перейдите в
/data/data/databases
Выберите базу данных , просто нажав на нее.
Перейдите в верхний правый угол окна Android Device Monitor. Нажмите на кнопку « извлечь файл с устройства »:
Откроется окно с вопросом, где вы хотите сохранить файл базы данных. Сохраните его где угодно на своем ПК.
Версии Android Studio> = 3.0 :
Откройте Обозреватель файлов устройства через
View > Tool Windows > Device File Explorer
Перейдите туда
data > data > PACKAGE_NAME > database
, где PACKAGE_NAME - это имя вашего пакета ( в приведенном выше примере это com.Movie )Щелкните правой кнопкой мыши на базе данных и выберите
Save As...
. Сохраните его где угодно на своем ПК.Теперь откройте установленный вами SQLiteBrowser . Нажмите « открыть базу данных », перейдите к месту, в котором вы сохранили файл базы данных, и откройте . Теперь вы можете просматривать содержимое вашей базы данных.
Для просмотра вашей базы данных на вашем мобильном устройстве:
Перейдите в этот репозиторий Github и следуйте инструкциям в файле readme, чтобы иметь возможность просматривать вашу базу данных на вашем устройстве. То, что вы получаете, выглядит примерно так:
Вот и все. Однако само собой разумеется, что вы должны отменить все эти шаги перед публикацией приложения.
источник
Подключитесь к Sqlite3 через ADB Shell
Я не нашел никакого способа сделать это в Android Studio, но я получаю доступ к БД с помощью удаленной оболочки вместо того, чтобы извлекать файл каждый раз.
Найти всю информацию здесь: http://developer.android.com/tools/help/adb.html#sqlite
1- Перейдите в папку с инструментами платформы в командной строке
2- Введите команду,
adb devices
чтобы получить список ваших устройств3- Подключите оболочку к вашему устройству:
4- Перейдите в папку, содержащую ваш файл базы данных:
5 - запустите sqlite3 для подключения к вашей БД:
6 - запустите команды sqlite3, которые вам нравятся, например:
SQLite шпаргалка
Есть несколько шагов для просмотра таблиц в базе данных SQLite:
Перечислите таблицы в своей базе данных:
Перечислите, как выглядит таблица:
Распечатать всю таблицу:
Перечислите все доступные команды приглашения SQLite:
источник
run-as your.package.name
сделал свое дело.Я на самом деле очень удивлен, что никто не дал это решение:
Посмотрите на Стето .
Я использовал Stetho несколько раз для разных целей (один из них - проверка базы данных). На реальном веб-сайте они также рассказывают о возможностях проверки сети и просмотра иерархии представлений.
Для этого требуется лишь небольшая настройка: 1 добавление зависимостей gradle (которое можно закомментировать для производственных сборок), несколько строк кода для создания экземпляра Stetho и браузер Chrome (поскольку он использует Chrome devtools для всего).
Обновление : теперь вы можете использовать Stetho для просмотра файлов Realm (если вы используете Realm вместо базы данных SQLite): https://github.com/uPhyca/stetho-realm
Обновление № 2 : Теперь вы можете использовать Stetho для просмотра документов Couchbase: https://github.com/RobotPajamas/Stetho-Couchbase
Обновление № 3 : Facebook сосредотачивает усилия на добавлении всех функций Stetho в свой новый инструмент, Flipper. У Flipper уже есть много функций, которые есть у Stetho. Итак, сейчас самое время сделать переключатель. https://fbflipper.com/docs/stetho.html
источник
compile 'com.facebook.stetho:stetho:1.3.1'
и 2. добавьте этот кодStetho.initializeWithDefaults(this);
и 3.chrome://inspect/#devices
Stetho.initializeWithDefaults(this);
должен быть вApplication
классе.Самый простой способ, когда не используется эмулятор
Предостережения:
Я не проверял это некоторое время. Это может не работать на API> = 25. Если команда cp не работает, попробуйте выполнить одно из следующих действий:
Объяснение:
Первый блок настраивает права доступа вашей базы данных для чтения. Это использует,
run-as
что позволяет вам выдать себя за пользователя вашего пакета, чтобы внести изменения.Затем мы копируем базу данных в мировой читаемый / записываемый каталог. Это позволяет пользователю adb pull доступ.
Затем замените существующие права на чтение / запись. Это важно для безопасности вашего приложения, однако привилегии будут заменены при следующей установке.
Наконец, скопируйте базу данных на локальный диск.
источник
chmod 660 databases/database_name
должно быть раньшеchmod 660 databases
cp
команду и просто выполнитьpull
извне (после изменения разрешений), и это сработало (adb pull data/data/package.name/databases/db_name.db
)В Android Studio 3 и выше Вы можете увидеть раздел «Обозреватель файлов устройств» в правой нижней части Android Studio.
Откройте его, затем вы увидите дерево файлов, вы можете найти базы данных приложения по этому пути:
источник
run-as: Could not set capabilities: Operation not permitted
. Устройство Samsung: stackoverflow.com/questions/37413667/…Наконец, я нашел простейшее решение, которое не нужно открывать DDMS.
На самом деле, решение основано на том, что упомянул @Distwo, но оно не должно быть таким сложным.
Во-первых , запомните путь к файлу базы данных на устройстве, он всегда должен быть одинаковым. Например мой это:
/data/data/com.XXX.module/databases/com.XXX.module.database
Во-вторых , выполните эту команду, которая переносит файл вашей базы данных на ваш компьютер.
Что вам нужно сделать, это просто скопировать и сохранить эту команду, а затем вы можете использовать ее снова и снова.
В-третьих , если вы получили отказ в разрешении или что-то в этом роде, просто запустите
adb root
перед предыдущей командой.источник
adb root
не работает на моем телефоне. Распечатываетadbd cannot run as root in production builds
. После запускаadb root
команда pull просто зависает, и мне нужно остановить ее вручную.run-as your.package.name
это "войти" как пользователь, принадлежащий вашему приложениюПопробуйте этот плагин для Android Studio SQLScout . Вы можете просматривать и редактировать базу данных своего приложения в режиме реального времени.
Изменить: Помните, что это платный плагин, но есть 24-часовой пробный период и подходит для головной боли.
источник
После прохождения всех решений я предложу
Используйте Stethos
Давайте посмотрим, как это просто
Добавьте следующие зависимости в файл build.gradle
Затем перейдите к методу mainActivity onCreate и добавьте следующую строку
это потребует от вас
Теперь при запуске приложения из Android Studio, Open Chrome и в адресной строке введите
chrome: // inspect /
на вкладке ресурсов> веб-SQL проверьте базу данных и играть в нее в режиме реального времени легко
источник
Самый простой способ - использовать библиотеку Android Debug Database (7,3 тыс. Звезд на GitHub) .
Преимущества:
Как пользоваться:
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
кbuild.gradle (module)
;D/DebugDB: Open http://192.168.232.2:8080 in your browser
ссылка будет другой) и откройте ее в браузере;Важный:
adb forward tcp:8080 tcp:8080
Для получения дополнительной информации перейдите на страницу библиотеки на GitHub.
источник
Простой и удобный способ просмотра содержимого базы данных в Android Studio .
# Для Android Studio 4.1 Canary 6 и выше
Вы можете использовать очень простую функцию Android Studio Database Inspector . Где вы можете просматривать, запрашивать и изменять базы данных вашего приложения, используя новый инспектор баз данных. Например, вы можете отладить работающее приложение, изменив значения в вашей базе данных и протестировав эти изменения на устройстве в режиме реального времени, не выходя из Android Studio .
Для начала разверните приложение на устройстве с API-интерфейсом уровня 26 или выше и выберите « Вид»> «Инструмент Windows»> «Инспектор баз данных» в строке меню.
# Для Android Studio 4.0 и ниже
Сначала установите плагин Database Navigator в Android Studio
Во-вторых , перезагрузите Android Studio
В-третьих , сохраните базу данных в папку по умолчанию, например: (C: \ Users \ Имя пользователя \ Documents \ AndroidStudio \ DeviceExplorer \ emulator или device \ data \ data \ имя пакета \ database)
В-четвертых , подключите сохраненный файл dbname_db в Database Navigator
Укажите тот же путь к файлу БД, который используется на третьем этапе
т.е. (C: \ Users \ Имя пользователя \ Documents \ AndroidStudio \ DeviceExplorer \ emulator или device \ data \ data \ имя пакета \ database \ package naem \ dbname_db)
Наконец , просто проверьте соединение с БД, откройте консоль и делайте все, что хотите.
Если вы хотите обновить БД, просто повторите шаг Второй и просто сохраните его или обновите.
СЧАСТЛИВЫЕ КОДИРОВАНИЕ !!!!!
источник
Чтобы узнать, где хранится база данных sqlite, созданная вами в Android Studio, вам необходимо выполнить следующие простые шаги:
Для получения дополнительной информации эта ссылка будет полезна. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/
Для просмотра ваших данных, представленных в файле базы данных, вам необходимо скачать браузер sqlite или добавить его в любой браузер, поэтому вам нужно открыть файл в браузере и просмотреть свои данные.
Скачать браузер с http://sqlitebrowser.org/
Вот скриншот, показывающий браузер, содержащий базу данных регистров
Спасибо,
источник
Самый простой способ - подключить устройство и запустить Android Studio Then From Tool Bar:
Другой способ - использовать библиотеку Stetho:
Добавьте зависимость Stello в ваш build.gradle:
скомпилируйте 'com.facebook.stetho: stetho: 1.5.0'
Поместите следующую строку в onCreate () вашего класса Application или основного Activity:
Stetho.initializeWithDefaults (это);
Подключите ваше устройство, запустите приложение и зайдите на следующий сайт в Chrome:
хром: // инспектировать / # устройств
и это все. Теперь вы можете исследовать свои таблицы.
Примечание. Рекомендуется удалить зависимость перед переходом к производству.
источник
Если вы хотите просматривать свои базы данных из ANDROID STUDIO, вот что я использую:
Перейдите в Файлы / Настройки / Плагины и найдите это:
... После перезапуска Android Studio вы можете выбрать загруженный файл базы данных следующим образом:
... Щелкните значок «Открыть консоль SQL», и вы получите прекрасный вид вашей базы данных в Android Studio:
источник
Новый Инспектор баз данных, представленный в Android 4.1 Canary 5 Preview, теперь позволяет просматривать, запрашивать, изменять и отлаживать базы данных SQLite в запущенном приложении непосредственно из IDE - https://developer.android.com/studio/preview/features?linkId = 86173020 # базы данных инспектор
Также поддерживает живой запрос к базе данных - https://developer.android.com/studio/preview/features?linkId=86173020#query
источник
Это ОЧЕНЬ старый вопрос, и мой ответ похож на некоторые ответы выше, но сделан НАМНОГО быстрее. Сценарий ниже для Mac, но я уверен, что кто-то может изменить его для Windows.
1) Откройте Script Editor на вашем Mac (вы можете просто найти Script Editor в Spotlight)
2) Скопируйте и вставьте текст ниже и измените его, указав путь к SDK, имя пакета и т. Д. (См. Ниже)
3) Сохраните скрипт! !
Вот и все! Просто нажмите кнопку воспроизведения сверху, чтобы получить обновленный файл базы данных, который будет на вашем рабочем столе.
замените следующие вещи в сценарии ниже:
path_to_my_sdk == >> укажите полный путь к вашему sdk
my_package_name == >> имя пакета вашего приложения
myDbName.db == >> имя файла вашей базы данных
Надеюсь, это кому-нибудь поможет.
источник
Я знаю, что вопрос довольно старый, но я считаю, что этот вопрос все еще присутствует.
Просмотр баз данных в вашем браузере
Я создал инструмент разработки, который вы можете интегрировать как проект в свой проект приложения для Android. Инструмент открывает серверное гнездо в вашем приложении для связи через веб-браузер. Вы можете просматривать всю базу данных и загружать файл базы данных непосредственно через браузер.
Интеграция может быть выполнена через jitpack.io:
проект build.gradle:
приложение build.gradle:
Настройка класса приложения
Чтобы скомпилировать DebugGhostLib только в определенных типах сборки или вариантах продукта, нам нужен абстрактный класс Application, который будет производным в специальных вариантах. Поместите следующий класс в вашу
main
папку (подjava
>your.app.package
):Теперь, для вашего типа сборки выпуска (или продукта), вы добавляете следующий класс Application в вашу папку
release
(или продукт продукта) (также вjava
>your.app.package
):Это класс приложения, который не будет ссылаться на DebugGhostLib.
Также скажите,
AndroidManifest.xml
что вы используете свой собственный класс приложения. Это будет сделано в вашейmain
папке:Теперь для вашего типа сборки отладки (или продукта) вы добавляете следующий класс Application в вашу папку
debug
(или продукт продукта) (также в разделеjava
>your.app.package
):Вы можете получить инструмент здесь .
источник
Мне пришлось вытащить базу данных с телефона на ПК. Теперь я использую это очень хорошо сделанное и бесплатное приложение, которое имеет много функций. Работает
API 4.1+
с устройством с рутом .Дайте мне знать, если вы найдете способ заставить его работать без рута.
https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime
источник
Откройте терминал просмотра файлов устройства в нижней части Android Studio.
Откройте папку с именем Data , затем внутри Data снова откройте папку данных .
Прокрутите вниз список папок и найдите папку с вашим именем .package.name. Откройте папку your.package.name > База данных . Вы получаете your.databaseName . Щелкните правой кнопкой мыши your.databaseName и сохраните как в C: / your / Computer / Directory.
Перейдите в C: / your / Computer / Directory откройте your.databaseName с БД SQLite
источник
Для Android Studio 3.X
Вот ссылка на SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download
источник
С выпуском предварительного просмотра Android Studio 4.1 Canary и Dev вы можете использовать новый инструмент под названием
Инспектор базы данных
Установите AS 4.1+, запустите приложение, откройте инспектор базы данных, теперь вы можете просмотреть файлы базы данных в левой части панели инспектора базы данных, а затем выбрать таблицу для просмотра содержимого.
Живые Запросы
Либо вы можете запускать свои запросы с помощью параметра « Запустить SQL», либо, если вы используете Room, затем откройте инспектор базы данных и запустите приложение, затем вы можете выполнить запросы DAO в своем интерфейсе, нажав кнопку « Выполнить» слева от
@Query
аннотации.источник
Используйте Android SQLite, как база данных на стороне сервера
Следуйте этим шагам, перечисленным ниже:
Подключите устройство Android к компьютеру
Выберите пакет, который вам нужен, и выберите базу данных, как показано ниже
Перед тем как все эти шаги над вами должны Esure , что у вас есть право доступа для доступа к файлу: /data/data//database/databasefile.db
После всех этих шагов вы увидите содержимое базы данных, как показано ниже:
Последняя важная вещь
Надеюсь, это работа для вас! Спасибо !
источник
Возможно, это не тот ответ, который вы ищете, но у меня нет лучшего способа загрузки БД с телефона. Я предлагаю вам убедиться, что вы используете этот мини-DDMS. Это будет очень скрыто, хотя, если вы не нажмете на очень маленькую рамку камуфляжа в самом нижнем левом углу программы. (попытался навести на него курсор, иначе вы можете пропустить его.)
Также выпадающий, который говорит, что нет фильтров (вверху справа). У него буквально множество разных способов контролировать различные процессы / приложения по PPID, имени и многому другому. Я всегда использовал это для мониторинга телефона, но имейте в виду, что я не делаю такую работу разработчика, которая должна быть на 120% положительной, база данных не делает что-то необычное.
Надеюсь, поможет
источник
Я собрал Unix автоматизацию командной строки этого процесса и поместил код здесь:
https://github.com/elliptic1/Android-Sqlite3-Monitor
Это сценарий оболочки, который принимает имя пакета и имя базы данных в качестве параметров, загружает файл базы данных с подключенного устройства Android и запускает пользовательский сценарий для загруженного файла. Затем с помощью Unix-инструмента, такого как «watch», вы можете открыть окно терминала с периодически обновляемым представлением выходных данных вашего скрипта базы данных.
источник
Я использую Windows 7, мое устройство является API-интерфейсом эмулированного Android-устройства 23. Я полагаю, что оно одинаково для любого реального устройства, если оно рутировано и API не выше 23
Перейдите в Инструменты -> Android -> Android Device Monitor. Перейдите в проводник. В моем случае это в data / data // app_webview / database / file_0 / 1
Я должен вручную добавить .db в конце файла с именем "1"
источник
Это комбинация из других ответов с плюсом
источник
Выполните описанные выше шаги, чтобы открыть папку базы данных вашего приложения в Android Device Explorer, и там вы увидите шесть файлов. Первые три называются android, а последние три - именем вашей базы данных. Вам нужно только работать с последними тремя файлами, сохранить эти три файла в нужном месте. Вы можете сохранить эти файлы, щелкнув правой кнопкой мыши по файлу и нажав кнопку «Сохранить как» (как моя база данных называется room_database, и три файла названы как room_database, room_database-shm и room_database-wal. Переименуйте соответствующий файл следующим образом : -
1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal
Теперь откройте 1-й файл в любом браузере SQLite, и все три файла будут заполнены в браузере.
источник
Наконец, Android Studio поддерживает эту функцию с вкладкой инспектора базы данных. Вы можете легко применять операции просмотра / обновления / запроса. Пока он не в стабильном канале, но вы можете попробовать его на Android Studio 4.1 Canary 5 и выше.
Вы можете посмотреть, как выглядит инспектор базы данных здесь
И вы можете скачать соответствующую версию здесь
источник