赤組頑張れ

って事で某所の赤組の方向け記事です。

このサイトに書かれている内容は完全に無保証です。 私(おおの)は いかなる法的な責任も負いませんし、実際に実施される事を推奨いたしません。 間違ったオペレーションにより機器が正常に動作しなくなったり破損する可能性があります。 これらの操作の意味や危険性を理解・判断できないのであればれば絶対にやらないでください。 もしも実施をされる場合には実施者の自己責任で実施してください。

Xperia X10 mini Pro (U20i) をDebrandしたときの手順の記録になります。

事の発端は海外出張時に使おうと思って買ったAndroid端末。

Marketが無い!で、なんとかしようと思ったら方針としては以下しかなさそう。

  • Patched Market Applicationを使う(tatoo用にQVGA制限を外したやつ)
  • 他のRegion/CountryのFirmwareを使う

Patchedは無認可のアプリなわけで少し抵抗があったので(大してやってることは変わらないけど)。

Firmwareを入れ換える方法の手順です。

いきなりROMを焼くという方法もありますが、出来るだけ「機器として」普通の手順(?)を取ろうと思うと以下の二つが考えられます。

  • Update Servicesが実機に流し込むFirmwareをすりかえる
  • Update Servicesが認識するHardwareを騙す

一つ目の方法は作業PC上でフルの権限があればrootを取らなくても可能ですが、

Firmware(本当に何が入っているか分からない)を予め入手しておく必要がありますのでちょっと微妙。

ここでは二番目の方法をとりたいと思います。

ちなみにFirmwareのすりかえは、Update ServicesのFolderを覗くとすぐに分かるのですがJavaでhsql使ってFirmwareを管理しているようです。

Firmwareはblobで格納されているのでそこをこっそり置き換えれば比較的簡単に対応できそうです。

試していませんが、、、(^_^;)

というわけで、方針が決まったのでGoogle先生に尋ねてみると先人達の成果が既にありました!

ここでは それらをまとめてはまり易い点なんかを私なりに書いておきます。

作業は主に3ステップです。

  1. rootを取る
  2. build.propを変更する
  3. Update Servicesを使ってアップデートする

rootを取る

簡単なapkもあるみたいですが、私は以下のURLサイトの手順でやりました。

http://android.doshaska.net/x10miniroot

orgサイトが英語なので一応ざっくり説明書くとこんな手順です。

PCの準備

  • Sony EricssonのサイトからPCにPC CompanionとUpdate Servicesを入れる。
  • Android SDKを入れる
  • ShellからAndroid SDKのtoolsにPATHを通す
  • exploidをDownloadして解凍しておく。

実機準備

  • Settings→Applications→Development→USB DebuggingをONにする
  • 時計画面からWidget追加でPowerControlを追加する(後でWi-Fiを制御するため)

接続確認

  • 実機でAndroidが完全に安定してからUSBで接続する

  • 接続すると実機の画面で選択画面が出ますのでChargeを選択してください

    この後もAndroid起動中に接続するケースがありますが、この場合充電・Chargeを選択してください

  • コマンドラインからadb devicesでデバイスが表示されるのを確認する

root取り

  • Wifiの電源をOnにする

  • exploidのファイル(exploid/busybox/su/Superuser.apk)の転送

    ファイルによって転送先がかわってますので注意です。

    adb push exploid /sqlite_stmt_journals<br /> adb push busybox /sqlite_stmt_journals

    ※ root userで実行するため、内部ストレージに置く必用があります。

    adb push su /sdcard<br /> adb push Superuser.apk /sdcard<br /> adb shell<br /> <span style="color: #000080;"> cd /sqlite_stmt_journals<br /> chmod 755 exploid<br /> chmod 755 busybox<br /> </span>

  • 続けてrootを取ります。

    <span style="color: #000080;">./exploid</span>

    画面にばらばらとメッセージが出ますのでここでWifiをDisableにします。

    PowerControlからWifiアイコンを押します。

    コマンドラインに戻ってきますので

    <span style="color: #000080;">rootshell</span>

    成功していればファイルが実行されパスワードを聞いてくるので rootnowと入力します。

    プロンプトが#になればroot権限が得られました。

  • 今後のために環境変更(ここからの作業はroot権限のため

    <span style="color: #000080;">./busybox cp /sdcard/Superuser.apk /system/app/<br /> ./busybox cp /sdcard/su /system/bin/<br /> ./busybox cp busybox /system/bin/<br /> chmod 4755 /system/bin/su<br /> rm /system/bin/rootshell<br /> exit</span>

  • 確認とSuperuser.apkの確認

    <span style="color: #000080;">su</span> (実機の画面にSuperuser.apkが許可を求める画面が表示されますのでAcceptします)

    プロンプトが#で出ればOKです。

今後作業上root権限が必要な場合には

adb shell<br /> <span style="color: #000080;"> su</span> だけでOKです。

build.propの置き換え

ここからはこちらの記事が元記事です。

http://forum.xda-developers.com/showthread.php?t=743800

スレッドにポストされている添付ファイル u20i_build.prop_generic_uk.zip をダウンロードして展開します。

展開したらunix改行コードを扱えるテキストエディタでファイルを開き、1238-0199という文字列を1239-2448に変更します(この文字列は前述のThreadの#2のポストにある一覧からCustomized AU/Blackのものになります)

変更は三箇所ありますのでエディタの一括置換などで対応してください。

build.auという名前で保存しておきます。

新しいbuild.propの送り込み

adb push build.au /sdcard/build.au

adb shell

su buxybox cp /system/build.prop /sdcard/build.prop.orig busybox cp /sdcard/build.au /system/build.prop ※ /systemがread only mountされているとエラーになります。

(以下は余裕があればの確認作業)

<span style="color: #000080;">ls -l /system/build.prop</span> ⇒権限が644 -rw-r–r– になっている事(なっていなければchmodで変更)

<span style="color: #000080;">cat /system/build.prop</span> ⇒ファイルがちゃんと書き換えられている事を確認

shellを抜けてアップデートの準備をします。

<span style="color: #000080;">exit<br /> exit</span> USBケーブルを抜く。

実機のバッテリーが50%以上残っている事を確認

電源ボタン長押ししてPower Offを選択

30秒待つ

Update Serviceでアップデートする!

ここは特に説明必要無いですよね。PC上で実行して指示に従うだけです。


これで完了です。多分間違い無いと思うんですけど、誰か検証したら報告頼んます。