Mac で Flashtool を使ってダウングレード

Xperia mini (ST15i) の firmware を .62 にアップグレードした後、いわゆるバックキー連打病というのが悪化して、もうほとんど使い物にならなくなってしまった。回避するには root を取って修正のスクリプトを実行するしかないが、root を取るには .62 より前の firmware じゃないといけない。

ということでダウングレードする必要があるのだが、うちには Mac しかないし、検索するとみんな Windows でやっているみたいで(Mac の人は VMWare 上の Windows なんかでやっている)、Mac OSX でできないかいろいろ試したらできた(0.8.6)ので、手順を簡単に書いておく。

参考

準備

ライブラリ (libusb)

libusb が必要だそうなのでそれをインストールする。MacPortsでインストールした。

  1. MacPorts が入ってない場合はインストールして以下のコマンドで libusb をインストール

    $ sudo port install libusb
    
  2. 環境変数を設定

    $ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
    $ export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib
    

Android SDK

(Flashtool のアーカイブに adb.mac とか入ってるからいらないかもしれないが、root を取るのに必要なので入れておく。)

  1. Android SDK をダウンロード
  2. platform-tools をインストール
  3. path を設定する

    $ export PATH=$PATH:/path/to/android-sdk-linux/platform-tools
    

何度も実行することが考えられるなら、環境変数は .bash_profile とかに保存しておけばいいかな。

Flashtool

  1. Flashtool と updates をダウンロード
  2. Flashtool と updates を解凍し、updates のファイルで上書き

ここまでやってコマンドラインから Flashtool を実行すると (ダブルクリックでもいい) Flashtool が立ち上がる。あとは、いろいろなサイトに書いてあるように、Flash を選択して firmware を指定(ST15i_4.0.2.A.0.42_(1249-6227).ftf というのを使った)、電源を落とした Xperia のボリュームダウンボタンを押しながら USB 接続する。

root

  1. Easy Rooting Toolkit と Rooting script for MAC OSX をダウンロード
  2. Xperia で USB デバッグモードを有効にする (設定 > アプリケーション > 開発)
  3. USB 接続
  4. runme.sh を実行

連打病の修正

  1. Xperia に GScript Lite をインストール
  2. 以下の内容でスクリプトファイルを作成し、SD の gscript フォルダに保存

    dev=/sys/devices/platform/spi_qsd.0/spi0.0
    fw=touch_smultron_sony.hex
    cyttsp_fwloader -dev $dev -fw /system/etc/firmware/$fw -verify_only
    sleep 5
    reboot -p
    
  3. GScript を起動して、保存したスクリプトを実行 (電源が落ちる)
  4. 電源を入れる

最初に実行した時は、何故か起動後もまだバックキーが連打される状態だったけど、もう一度スクリプトを実行したら直った。それと、スクリプトを実行すると stderr と出るが、気にしなくてもいいみたい。そして、また発症したら、またスクリプトを走らす必要があるそうだ。。 ICS で治るといいが…。

Advertisements
Mac で Flashtool を使ってダウングレード

Oblique Strategies

Oblique Strategies のカードをランダムに引くページを作った。iOS のブラウザと、Safari、Chromeで動くことを確認した。Android 2.xのブラウザだと、CSS のアニメーションが上手く動かない。。

最初にアクセスしたら、ページのどこかをタップ、またはクリックすると、カードが引ける。別のカードを引きたい時は、表示されているカードをフリックして(上とか)消してから、また画面をタップする。

Oblique Strategies が何か、というのはこの辺を参考に。

今回も JsTestDriver のテストを書きながら進めたのだが、CSS のアニメーションとかは地道に手で確認するしか無いよね、と思った(当たり前)。

Oblique Strategies