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の起動かくにん よかった。

参考にしたサイト

Schwarzschild Cafe
How to obtain the android_id of a device?
Possible Duplicate: Is there a unique Android device ID? In the licensing documentation the android developers mention an easy way to more or less securely...
Galaxy Sのroot化後、sqlite3が使えなくなった時のメモ
昨日の記事(Galaxy Sをroot化してプチフリ対策をした)でGalaxy Sのrootをとったわけですが、今日sqlite3を使おうとしたら、”ない”って言われたので、そのときのメモ。 注)以下の各コマンド実行後の結果は、正確な結果ではありません。忘れちゃいました。 $ adb shell $ su # s...

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

コメント

タイトルとURLをコピーしました