Kindleが動かなくなったと思ったら…………

どうもかっぱです。今日はちょっと不思議なトラブルに遭遇したので書いておこうと思います。

母はNexus 7でKindleなどの電子書籍をよく読んでいるのですが、「突然Kindleで本が読めなくなった」と言ってきました。
どれどれと見てみると、スプラッシュスクリーン(「Kindle」の文字の下にインジケータぐるぐる)のまま先に進まないという症状。しかも何度起動しなおしてみても変わらず。
そして僕は「ああ、本のデータベースあたりが壊れたな」と判断しました。ほら、初期画面で動かない時は大体データがぶっ壊れてるし……。
まあ普通のアプリだとシステム設定のアプリ一覧から「データを削除」してアプリを初期化すればだいたい済むのですが、これだと今まで買った電子書籍のデータも全て吹き飛ぶという悲しいおまけ付き。
Kindleの場合はアカウントに購入情報が紐付けられていて初期化しても元に戻せるとはいえさすがに辛いので、少し悩みました。

が、すぐに思い出しました。「Androidのログ取ればいいじゃん」と。

ログと言えばエラーや「何が完了した」などの情報が蓄積されたデータ。多分そこにKindleも何か手がかりを残しているはず…………!
ということで早速母のパソコンを借りて確認してみることに。簡単に確認までの手順を書いておくと、

  • 開発者オプションから「USBデバッグ」をオン
  • (Windowsだと面倒なことになるので)UbuntuをDVDから起動
  • 必ずsudo apt-get updateをかけた上でsudo apt-get install android-tools-adbを実行してデバッグツールをインストール
  • sudo adb logcatを実行し(ちなみに「sudo」が先頭にないと動かない)、Android側に確認画面が出た場合は許可する

という手順になります(詳しくはググったりして調べてください)。
とりあえずこの状態でKindleをまた起動してみると、エラーっぽい文字列が出るわ出るわ。とりあえずばーっと見てみると、

「Device code is invalid. Device appears to be configured incorrectly.」と見るからに怪しい文面が。

訳すと「君のNexus 7の個体コードは無効だね?設定がうまく行っていないじゃないの?」ということ。
いやいやいや数日前まで動いてたらしいんだけどおかしいでしょねえねえどうしてこうなった…………と思いつつNexus 7の画面に視線を戻してみると、

正常に起動して普通に動くようになっていました。

…………うん。どうしてこうなった。
とりあえず落ち着いてまたログを読み進めていくと、今度は「OAuth access token near or past expiry. Refreshing…(ログイン用の鍵の有効期限が近いか切れています。更新中……)」の文字が。
あれ?ログイン用のデータが古くなっていてそれを更新しようとしてこけてたの?いやでも今ネット切ってるし(念のため機内モードにしていた)もしそうであったら今でも動かないはず…………。
と思ったらすぐに原因がわかりましたよ。しっかりログに残ってましたよ。

「Am the latest application. Setting up alarm to clean database(最新のアプリです。データベースの清掃処理を設定します)」と…………。

どうやら母がアプリをアップデートしてから上手く動かなくなったようなので、ある意味僕の予想は当たっていたことに。
そりゃ新しいバージョンだと変なことになる可能性あるよね……なんでうまく今までしなかったんだよ……人に見られていると思うと頑張っちゃう系のアプリなの君は…………。
ということで普通の状態に戻したうえでもう一度やり直すと、今までの動作不良は何だったのかというくらいあっさりと立ち上がって問題解決。……納得行かない…………。

ということで皆さん、もしKindleがうまく動かなくなったら普通にパソコンに繋いでみましょう。もしかしたらそれだけで直るかもしれません。
それでダメだったらUSBデバッグを有効にしてパソコンに繋いで意味がわからなくてもログを取りつつ起動してみましょう。それでもだめなら残念ながらアプリの入れ直しです。
前のキーボード事件やディスプレイの色事件はすぐ解決したのに………今回原因がよくわかんないよ…………。

ということでグダグダになってしまいましたが、皆様お試しあれ。