2012年04月
2012年04月15日
【追記】(2012.4.17)
微妙に推敲しました。
【追記】(2012.8.22)
libflashplayer.soのパーミッションは755でないと動かないのかもしれないです。が確証はありません。
【注意】
- 万が一、以下の方法を試されて失敗し動作しなくなった場合、保証対象外となります。試される場合はそのことをご承知の上お願いします。
- 必ず、必要なデータのバックアップを取ってからお試し下さい。
- また、万が一正常な起動が行えなくなった場合は、初期状態のファームウェアで上書きして初期化する方法がある模様です(当方では未検証)。「L-04C 文鎮化 対策」などでぐぐると方法が出てきます。
- この方法は、docomo L-04Cでの結果です。他の機種で類似の方法が使える可能性はありますが、その場合もあくまで自己責任でお願いします。
【経緯】
昨年12月にQWERTYキーボード搭載のAndroid端末、L-04Cを購入した。
前から持っていたWindowsMobile端末がQWERTYキーボード搭載なのだが、その便利さが捨てられず、Android機を買うにあたって「QWERTYキーボードの打ち心地がよい」という理由でこれを選んだのである。CPUが600MHzだったりと、この時期の(2011年3月発売)Android機としてはスペックがあまり高くない点には留意が必要である。ただそのためもあってか、かなり安く売られていた(白ロムで¥7,000程度)。

さて、最近のAndroid搭載端末はFlash Player(Liteではなく、パソコン向けと同等のフル規格のもの)に対応しているものが多いのだが、L-04Cは対応していない。これはAndroid版Flash Playerが、Android2.2以上にのみ対応していることに加え(なおL-04CはAndroid2.2)、ARM CPUの新しい規格(ARM v7)を前提に作られているためであり、それより1世代前のARM v6のみに対応したCPUを搭載した端末では動かないのである(参考:Android 2.2だからといって『Flash Player 10.1』が動くわけではない - ガジェット通信)。L-04Cに搭載されているのはARMv6対応のCPUであり、本来であればFlashは動かない。
ところが考える人もいるもので、ARMv6のCPUで動くようにFlash Playerを改造してしまった人がいるのである(詳細は不明だが、恐らく、ARMv7向けの命令を使っている部分をARMv6での相当する処理に置き換えているものと思われる)。これを用いることで、L-04CでもFlash Playerが使えるようになるのである。
【概要】
流れとしては以下のようになる。本記事では両方説明する。
- L-04Cを「root化」、すなわち普通では認められていない処理を出来るようにする。具体的には、マーケットを経ずに入手したインストーラからアプリをインストールしたり、システムファイルを書き換えたりすることを出来るようにする。
- ARMv6向けFlash Playerをインストールする。
【1. root化】
「L-04C root」でぐぐると、いくつか方法が出てきます。
私はドコモ「Optimuschat L-04C」 のroot化のやり方 | 吐路(cache)に従い、以下の2つのソフトを使った。
- LG On-Screen Phone(公式に配布されている、L-04Cのドライバ+便利ツール。次のSuperOneClickを使う前に導入しておく必要あり)
- SuperOneClickv1.7-ShortFuse(実際にroot化を行うソフト。公式な配布場所からは消えているため、ミラーされている場所からダウンロードする必要あり。)
セキュリティソフトによっては、SuperOneClickをマルウェアと扱うため、このファイルをマルウェアとみなさないように設定する必要がある(なお私はMicrosoft Security Essentialsを使ってて、マルウェア扱いとなりました)。
【2. Flash Playerの導入】
私はARMv6対応Flash Playerとして、[UPDATED APP] FLASH PLAYER 10.2 FOR ARMv6 AND ARMv7 ANDROID PHONES - xda-developersにあるものを利用した。ただしここで入手したapkファイルを直接L-04C上で実行しインストールしても、ブラウザ上でFlashが再生できるようにはならなかった。
その後ぐぐっていると、「LG Optimus One P500向けのFlashを一旦インストールしてから、実際のライブラリファイルを差し替えればよい」という情報があったので、試してみたらうまくいった。
- 設定から、「アプリケーション」→「提供元不明のアプリ」へ進み、チェックを入れる。
- Galaxy Nexus. Nokia N9. TouchPad: Install Flash on LG Optimus One P500 APKで、LG Optimus One P500向けのFlashインストーラ(.apkファイル。.zipファイルの中に含まれている)を入手し、USB経由などでL-04Cへ持っていき、.apkファイルを選択してインストールする。
- [UPDATED APP] FLASH PLAYER 10.2 FOR ARMv6 AND ARMv7 ANDROID PHONES - xda-developersからFlashインストーラ(.apkファイル)を入手する。この拡張子を.zipに変えて開くと、中に「lib」フォルダがあり、さらにその下に「armeabi」フォルダがあるので、その中にある4つのファイルを、L-04C中の「/data/data/com.adobe.flashplayer/lib」フォルダにコピーする(SDカード直下の「/data/data〜」ではなく、システム全体から見た「/data/data〜」です)。またコピー後、それら4ファイルのパーミッションを644(rw- r-- r--)にする。ただし、libflashplayer.soは755(rwx r-x r-x)のままでよい。
ちなみにこのような操作をするには、root化に対応したファイル・フォルダ閲覧用ソフトが必要なのだが、【1. root化】の記事ではその一つとして、「ESファイルマネージャ」(Androidマーケットから入手可能)が紹介されていた。
【結果】
かなり重いが、ニコニコ動画の再生も可能であった。

というわけで、手間はかかりますが、どうしてもFlashが必要になった場合はこういうことをお試し頂くのも一手です。ただし上述の通り、あくまで自己責任で。
【スペシャルサンクス】
ARMv6版Flashの存在を教えて下さったnoja氏に感謝です。