実機内のsqlite3の中身を確認する
androidの実機内には、sqlite3 のデータベースが存在する。
shell@android:/sdcard # ls -al /data/system/*db* -rw-rw---- system system 48128 2011-12-18 19:53 accounts.db -rw------- system system 0 2011-12-18 19:53 accounts.db-journal
パソコンでエミュレータを起動して、エミュレータ内のsqlite3のバイナリをパソコン上へ。
$ emulator @icecreamsandwich $ adb shell (ここからエミュレータ内) $ adb push /system/xbin/sqlite3 ~/
パソコン上にsqllite3バイナリを抽出できたら、
それを実機内SDカードに置いたあと、実機内で所定の位置へ。
shell@android:/sdcard # mount -o remount,rw /system shell@android:/sdcard # cp sqlite3 /system/xbin/ shell@android:/sdcard # chmod 777 /system/xbin/sqlite3
先ほどのデータベースファイルにsqlite3に接続する。
shell@android:/sdcard # sqlite3 /data/system/accounts.db SQLite version 3.7.4 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .tables accounts authtokens grants android_metadata extras meta sqlite> select * from accounts; 1|***@gmail.com|com.google|1/暗号化してBase64エンコードしたパスワード 2|***|com.skype.contacts.sync|33456 3|***@gmail.com|com.endomondo.android.account|暗号化してBase64エンコードしたパスワード 4|***@gmail.com|com.google|1/暗号化してBase64エンコードしたパスワード 5|***@gmail.com|com.google|1/暗号化してBase64エンコードしたパスワード 6|***00@hotmail.co.jp|com.google|1/暗号化してBase64エンコードしたパスワード
OSレベルに設定する同期アカウントはここに登録されている。