The discretion of a man deferreth his anger

; and it is his glory to pass over a transgression (Prov. 19:11 KJV) - このブログは基本的に画像処理やRTMなど技術に関することを書き連ねていきます。

Firmware Update後の問題 (Adobe Flash Player 10.1, 画面Flip)

Firmware Update後の問題 (Adobe Flash Player 10.1, 画面Flip)
さて、Firmwareも良好に更新され、Android Marketも無事普通に稼働するようになって、満足したのも束の間。すぐにまた問題が噴出するのも中華パッドの良い(?)ところ(予測が出来ると言う意味で)。

  • Flashが見れなくなってる!
  • 縦画面にできない!

この2つの改善を、この記事ではやっていこうと思います。
先ず、Flashが見れなくなっている問題。どうやらAdobe Flash Player10.1が無いようなので、Android Marketを探してみるものの…無いんですね。Android Marketで使用できるのは、コピープロテクトの入っていないアプリまでだそうで、Flash Playerの更新はMarketから出来ないのです。
なので、Nationate公式コミュニティからDLしてきます。

コレの中に.apkファイルが含まれているので、それを何らかの方法でMIDniteへ移送して、開くと、ちゃんとInstallされます。
次に、縦画面に出来ない問題。通常のインターフェースをそのまま使っていると、アレはフリップ出来ないんですね。なので、個人的にADW.Launcherというアプリケーションを使っています。これはAndroid MarketでDL出来ます。ついでに、このADWで使えるスキンをDLしておくと、もうちょっと幸せになれます。また、加速度センサが無いので、アプリケーション的に画面のフリップを行わなければいけないので、それ用のアプリケーションとしてRotateDもインストールしておきましょう。イチイチそれを探してポチする必要がありますが、無いよりマシなことは確実です。
しかし、以前のROM(0831版)では、RotateDで上手く画面のフリップが行えていたのが、『フリップさせたはずなのにすぐに横画面(or ADW.Launcherの設定で縦画面)に戻ってしまうようになっています。これは、修正された加速度センサのドライバによって引き起こされるもので、10月のある時点以前にこのMIDniteを購入した人には入っていない『加速度センサ』を無理やり動かそうとしていることが原因のようなので、そのドライバを外す必要が出てきます。
ドライバ本体は/system/lib/hw/sensors.omap3.soですが、これを外すためにはrootを奪取する必要があるので、色々と手を入れる必要があります。以下の手順は『Android SDK使えるなら別にSuperuserとらんくてもいいだろ!』的な手順ですが、まぁ今後rootが必要なアプリケーションとか入れたい人のための手順です…。なお、自分はWindowsを使ってるので、Windowsの手順で説明します。

  • PCからAndroidを制御するために, Android SDKをPCにインストール
  • MIDniteのUSB接続をデバッグモードにする
  • Android SDKのインストールフォルダ内にあるusb_driverフォルダ内に、android_winusb.infが入っているので、その中の記述を弄る。
    • [Google.NTx86]と書かれている所に、次の記述を追加:
      A81E
      %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0001
      %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0001&MI_01
  • MIDniteとPCをUSB接続後、前述のandroid_winusb.infの含まれているフォルダをドライバ情報の含まれているフォルダとして参照して、ドライバをインストール。
  • http://forum.xda-developers.com/showpost.php?p=6499147&postcount=1から、SuperuserのアプリケーションをPCにダウンロード(MIDniteはFroyoなのでefの方)し、解凍。(Superuser.apkの方は、Marketからでもインストール可能です)
  • MIDniteのSDカードフォルダに、前述のサイトからDLした『zipファイルそのもの』をアップロード (/sdcardの下)
  • superuser.apkをMIDniteにインストール
  • PCのコンソールから、Android SDK内にある tools/adbを使用して、MIDniteの中の/system/binか/system/xbin内にsuコマンドを配置。コマンドは次の通り。
    adb push su /system/xbin/
    adb shell chmod 4755 /system/xbin/su
    adb shell reboot
  • インストールされたsuperuserが、エラー無く動いていれば多分大丈夫
  • MIDniteにRootExproler(有料。でも便利)をMarketからインストール。RootExprolerはSuperuserを介してrootを取得←無料で代替あるのかな?
  • RootExprolerを使って、/system/lib/hw/sensors.omap3.soを/system/lib/hw/sensors.omap3.so.OLDに名前を変える。

こんなくらいの手順になりました。
多分、Root取らなくても、adbで全部解決しそうな話ですが、このMIDniteのアレゲさを考えると、『セキュリティよりも機能性』を重視して弄った方が良いのかなと思いつつ、とりあえずRoot奪取しておこうと思った次第でございます。
これで、ようやくRotateDがまともに動くようになった、という当たりで色々と拍手〜〜〜。