※以下の情報は誤っている可能性があります。最悪スマホが動かなくなります。自己責任でご利用ください。
ある日、何かの拍子にAndroid_idが書き換わってしまったらしくLINEが起動できなくなった。
どうやらLINEはメッセンジャーアプリのくせにAndroid_idで認証をしているらしく、「問題が発生したためlineを終了します。」と表示されて動かなくなった(Android_idが書き換わっているのに気づいたのはTitaniumBackupを起動した際に通知されたから)
TitaniumBackupでAndroid_IDはバックアップを取っていたがPRO版しかリストアができない。わざわざPRO版を買うのももったいないので自力で書き換えてみることにした。
まずは、TitaniumBackupで通知されたAndroid_id(変更前・変更後)をメモする。
先人の情報を元にAndroid_IDは下記dbに入っていることを突き止める。
/data/data/com.android.providers.settings/databases/settings.db
#sqlite3 /data/data/com.android.providers.settings/databases/settings.db で開こうとするが
sqlite3 not found
と、つれない返事をされる。
調べると、TitaniumBackupを入れると強制的にsqlite3が移動させられてパスが通らなくなるらしい。
というわけで、find | grep sqlite3 で
/data/data/com.keramidas.TitaniumBackup/files/sqlite3
にあるのを確認。
/systemをrwでマウントして
# cp /data/data/com.keramidas.TitaniumBackup/files/sqlite3 /system/bin
これでようやくsqlite3が使えるようになった。
#sqlite3 settings.dbで開き.dump secureで中身を確認。52番にあった。
作業前にバックアップを取る
#cp settings.db /sdcard/でコピー
adb pull /sdcard/settings.dbでPCにもバックアップを取る
sqlite> UPDATE secure SET value='元のID' WHERE name='android_id'
で変更前の元のIDに書き換える
sqlite> SELECT value FROM secure WHERE name='android_id';
で書き換わっているのを確認
端末再起動。
LINEの起動かくにん よかった。
参考にしたサイト
LINE側のDBを消すだけでもいいらしい
http://reindex.hotcom-web.com/archives/252
コメント