SSブログ

「Real World Haskell」のAndroidアプリにバグ [ソフトウェア/PC関係]

O'REILLY「Real World Haskell」のKindle版

1年半ほど前,O'REILLYの電子書籍が,iPhoneでかなり安く手に入ることを紹介した。紙の本で数千円する本が,なんと600円。なんと太っ腹なことかと感心したものであるが,その後,Androidだとさらにお安く手に入ることを知った。現在のところ400円前後くらい。スターバックスでコーヒーを1杯飲むのと変わらないのだ。これで儲けがあるのか心配になってしまうが,消費者としては有難いことである。ここまで安くするのは無理としても,日本の出版社にはもっと努力して欲しいものだ。

ところで,最近,Amazonで電子書籍をよく買うようになった。割引セールで,だいぶ安くなってる本を見ると,買わないと損するような気がしてしまう貧乏性なのである。もっとも,興味のない本まで買うことはない。しかし,ジャンルは様々で,紙の本なら恐らく買わないだろうというものも含まれている。これは,知識や見聞を広める意味ではいいことかも知れない。

こうして購入した本が増えてくると,Kindle PWの便利さを改めて認識するようになった。紙の本だと,嵩張って荷物になるので,せいぜい1,2冊しか持ち歩かないが,Kindle PWなら,邪魔にならず何冊も持って行ける。その時の気分によって,読む本を変えることが簡単に出来るのは,意外と嬉しい。さらに,資料的な本も入れておけば,必要なときにいつでも参照できる。特に,先に挙げたO'REILLY本など,紙の本は分厚くて重くて持ち歩くのには向かないが,Kindle PWに入れておけば,何冊でも持ち歩ける。なんと素晴らしいことだろう。

そんな訳で,試しにGoogle PlayでO'REILLY本を2冊買ってみた。"Intermediate Perl"と"Real World Haskell"。本当は"Programming Perl"が欲しかったのだが,Google PlayにもiTunes Storeにもない模様で残念。前の記事では,PCにバックアップされたiPhoneアプリからファイルを取り出して,EPUBファイルを作ったりしたが,Androidアプリには,EPUBファイルをエクスポートする機能が備わっているので,更に簡単。AndroidデバイスのSDカード上に生成されたEPUBファイルをPCに転送し,前回のようにKindle用のファイルに変換すれば,Kindle PWで読めるようになる。

この手順,"Intermediate Perl"では上手く行ったのだが,"Real World Haskell"で躓いた。メニューから「エクスポート」を実行しても,エラーになってしまうのだ。SDカードに問題があるようなメッセージなのだが,"Intermediate Perl"では成功しているし,SDカードの空き容量も充分にある。別のAndroidデバイス(Nexus 7)で試しても同じ。一体どうなっているのだろう。

PCでググってみたら,すぐ状況が分かった。AndroidデバイスでGoogle Playを見ていた時には,日本語のレビューしか見えなかったのだが,PCのブラウザでGoogle Playのレビューを見ると,何人もの人がエクスポートできないと言っている。どうも,アプリそのもののバグらしい。最近のことではないので,もう長いこと放置されているようだ。う~む,せっかくO'REILLYを褒めてたのに,これはいかんなぁ。

そういう状況なら,自力で解決するほか無さそうだ。前回のように,Androidアプリから取り出せる可能性は充分ある。そのためには,まずアプリのAPKファイルを手に入れなければならない。調べてみると,インストール済みのAPKファイルは,「ESファイルエクスプローラ」という定番のアプリで,SDカードにコピーできるそうだ。勿論,手持ちのデバイスにもインストール済み。だいぶ前から使っていたが,「アップ・マネージャ」なんてボタンがあることには全く気付づいてなかった。ボタンを押すと,「アプリケーション・マネージャ」の画面になり,インストール済みのアプリが一覧される。そこで,[選択]ボタンを押してから,"Real World Haskell"にタッチして選択し,[バックアップ]ボタンを押す。これで,/sdcard/backups/appsディレクトリ以下にAPKファイルが保存される。

次に,このAPKファイルをPCに転送する。APKファイルは実はZIPファイルなので,Windowsのエクスプローラなどで展開すると,iPhoneの時のように各種のファイルが現れる。EPUBを作るのに必要なmimetypeというファイルと,META-INFディレクトリ,OEBPSディレクトリは,assetsディレクトリ以下にある。前回同様に,これらをZIPして拡張子をepubに変える。あとは,kindlegenやCalibreなどでKindle PW用のファイルに変換すれば良い。これで無事,Kindle PWで読めるようになった。

出来るには出来たが,アプリのエクスポート機能を使うのに比べるとだいぶ面倒。一般の人だと諦めてしまうかも。もっとも,Haskellを使おうと思うくらいの人なら,難なくこの手順に辿り着けるのかも知れないが。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。