AndroidでLINEが起動しなくなってしまったときの対応のメモ(要root)

※以下の情報は誤っている可能性があります。最悪スマホが動かなくなります。自己責任でご利用ください。

ある日、何かの拍子に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の起動かくにん よかった。

参考にしたサイト

http://www.funkygoods.com/schwarzschild/2011_10/2011_10_29.html

http://stackoverflow.com/questions/3354021/how-to-obtain-the-android-id-of-a-device

http://androg.seesaa.net/article/183856298.html

LINE側のDBを消すだけでもいいらしい
http://reindex.hotcom-web.com/archives/252

LINEで送る
Pocket

Add a Comment

メールアドレスが公開されることはありません。