Папка "данные" Android-устройства "Монитор" пуста
Я тестировал создание, вставку и извлечение данных в свои приложения db и знаю, что это работает с использованием операторов журнала.
Однако я хочу ускорить тестирование и использование Android Device Monitor. Однако, хотя db существует и данные хранятся, при доступе к ним папка data
пуста:
![введите описание изображения здесь]()
Почему это так? Как это можно настроить для отображения файла и содержимого db?
Ответы
Ответ 1
Решение проблемы с помощью эмулятора
Папка /data
может быть пуста, потому что вам не хватает соответствующих разрешений. Чтобы решить эту проблему, мне пришлось выполнить следующие команды.
adb shell
su
Эти команды запускают оболочку в эмуляторе и предоставляют вам права root. Команда adb
находится в папке platform-tools
Android SDK, обычно установленной в ~/Library/Android/sdk/
на MacOS.
chmod -R 777 /data
Измените разрешения папки (и подпапки рекурсивно) /data
, чтобы они отображались в инструменте Android Device Monitor.
adb root
Наконец, эта команда перезапускает adb
как root. Будьте осторожны, он работает только на сборке разработки (как правило, создаются эмуляторы).
Затем вы можете увидеть содержимое папки /data
и перенести данные, расположенные в. Вы также можете сделать это в консоли, используя adb pull <remote> <locale>
, например:
adb pull /data/data/<app name>/databases/<database> .
Ответ 2
В дополнение к ответам @Steven K: Если вы хотите получить доступ к своим данным без необходимости запускать свое реальное устройство, вам нужно запустить приложение в эмуляторе с помощью API 23 (или ниже). Это известная проблема, что API выше 23 может вызвать проблемы при развертывании Android Device Monitor.
Ответ 3
Это не пусто... у вас просто нет разрешения на просмотр этой папки на устройстве.
Попробуйте в симуляторе, и он будет работать для вас, так как у вас есть root-доступ.
Ответ 4
В процессе разработки может быть проще хранить базу данных в общей папке.
Или вы можете видеть это сообщение:
Как получить доступ к папке данных/данных на устройстве Android?
Ответ 5
У меня была такая же проблема с API_25
, это не сработало для меня.
Настроить API_23 emulator
, он будет работать на API_23
.
Ответ 6
Есть два способа, если вы хотите просмотреть папку данных вашего устройства (данные/данные).
- Для просмотра папки данных с помощью ADM (Android Device Monitor) необходимо иметь телефон с правами доступа root.
Местоположение ADM - (YOUR_SDK_PATH\Android\sdk\tools)
- Вам нужно запустить ADB в корневом режиме, сделав это, выполнив:
adb root
Если вы просто хотите видеть свои БД и таблицы, то самым удобным способом является использование Stetho
. Довольно крутой инструмент для каждого разработчика Android, который использует SQLite
buit от Facobook developed
.
Steps to use the tool
- Добавьте ниже зависимость в файл gradle вашего приложения app >
'compile' com.facebook.stetho: stetho: 1.4.2 '
- Добавьте ниже строки кода в свой метод Activity onCreate()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Stetho.initializeWithDefaults(this);
setContentView(R.layout.activity_main);
}
Теперь создайте приложение и, когда приложение будет запущено, вы можете просматривать свою базу данных приложений, открыв хром в URL-адресе:
chrome://inspect/#devices
Скриншоты из них:
ChromeInspact
![ChromeInspact]()
Ваша БД
![Ваша БД]()
Надеюсь, это поможет всем!:)