Перемещение базы данных SQLite с телефона Android на эмулятор - PullRequest
0 голосов
/ 01 октября 2011

У меня есть приложение с некоторыми данными. Я хотел бы проверить свою базу данных sqlite (со своего телефона) в эмуляторе Android. Я на 99% уверен, что некоторое время назад он работал по тому же методу.

Я знаю, где находятся файлы моей базы данных, я знаю, как использовать функции PUSH и PULL DDMS.

Может быть, что-то изменить в новом SDK?

Вот так я перемещаю свою базу данных SQLite из телефона в эмулятор Android.

  1. Я получил рутированный телефон и создал эмулятор Android в Eclipse. Файл моей базы данных находится в /data/data//databases/file.db

Я могу скопировать этот файл со своего телефона на рабочий стол.

  1. У меня есть файл базы данных sqlite, я могу открыть его (например) в SQLite Manager. Я вижу свою структуру базы данных с данными. Все отлично.

  2. Теперь я перемещаю файл базы данных в эмулятор Android. У меня уже установлено приложение. Я использую «Push файл на устройство» из DDMS. ХОРОШО. Оно работает. Мой файл был загружен в эмулятор.

Но. Когда я хотел бы увидеть схему своей базы данных с помощью эмулятора, вот что я получаю: Ошибка: образ диска базы данных искажен

(это ошибка с консоли adb).

Мое приложение не может видеть эту базу данных.

Делать то же самое на моих телефонах - без проблем. Есть ли ошибка в эмуляторе Android или, возможно, я делаю что-то не так.

Я использую рутированный телефон с 2.3.4 (CM7.1-RC1). Мой эмулятор использует API уровня 10 (2.3.3).

1 Ответ

0 голосов
/ 01 октября 2011

Хорошо, это не ответ, чтобы решить вашу проблему напрямую, но вместо того, чтобы копировать вашу базу данных с телефона в эмулятор, тратя бесчисленные часы потянув за волосы, почему бы вам не создать несколько тестовых сценариев для заполнения вашей базы данных после установка приложения? Таким образом, вы просто помещаете новую версию в свой телефон, запускаете ее, и все готово.

...