コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

AndroidのSQLiteのDBを実機からPCにコピーするときに少しハマった

AndroidSQLiteのDBのデータを実機からPCにコピーする方法として、以下の様なコマンドがよく紹介されています。

adb -d shell 'run-as パッケージ名 cat databases/db' > ~/temp/db

この方法でデータは持ってこれるのですが、SQLiteで確認すると「.schema」でテーブルは確認できるますが、SELECT文を実行すると

Error: database disk image is malformed

とエラーが出ます。

原因はよくわからないのですが、ワンクッション置いて

adb -d shell 'run-as パッケージ名 cat databases/db > /sdcard/db'
adb pull /sdcard/db ~/temp/db

のような感じにするとうまくいきました。

ちなみに実機はNexus S(2.3)です。