SO-04EをAndroid 6.0.1にしてみた


GEOの安売りでSO-04Eを2千円で手に入れた。

どこまでAndroidをアップデートできるかな?とAndroid 7.1.2にする記事を書こうと頑張ってみたのですが、うまくいかないので、とりあえずAndroid 6.0.1にする記事として公開します。

Xperia ZR用のAndroid 7.1.2を書くとブートロゴすら出てこないや・・・

さて・・・Android 6.0.1にする手順です。

ただし、こちらは、Google CTS認証は通りません。通す必要がある場合はXperia ZRのAndroid 5.1.1のまま使いましょう。

その1:SO-04Eを手に入れる

その2: Xperia ZRのAndroid 5.1.1 Build 10.7.A.0.228 にする

手順は「ポケモンGoをやるためにXperia A SO-04Eを買ってみた」参照

その3: 必要な設定をする

・「セキュリティ」の「提供元不明のアプリ」のインストールを許可
・「端末情報」の「ビルド番号」を連打して開発者向けオプションを出す
・「開発者向けオプション」の「USBデバッグ」を有効にする

その4:root取得とTWRPのインストール

庵怒露慰怒の「Xperia A(SO-04E)」にあるSO-04E_TWRP.7z を使ってroot取得とTWRPをインストールする。

うまく成功すればアプリ一覧にSuper SUも追加されます

adb.exeが使える環境でinstall.batを実行するだけ・・・なんですが、失敗する場合があります。

私の場合、1回目は下記の状態でした。

C:\SO-04E_TWRP>install.bat
--- XperiaZR rootkit 2016/05/04 ---
waiting for device...
files\iovycustom: 1 file pushed. 0.6 MB/s (26252 bytes in 0.039s)
files\su: 1 file pushed. 2.9 MB/s (75364 bytes in 0.025s)
files\supolicy: 1 file pushed. 2.1 MB/s (29972 bytes in 0.014s)
files\libsupol.so: 1 file pushed. 3.9 MB/s (190972 bytes in 0.047s)
files\Superuser.apk: 1 file pushed. 4.0 MB/s (6117378 bytes in 1.446s)
files\busybox: 1 file pushed. 3.6 MB/s (772604 bytes in 0.206s)
files\99SuperSUDaemon: 1 file pushed. 0.0 MB/s (55 bytes in 0.007s)
files\install-recovery.sh: 1 file pushed. 0.1 MB/s (629 bytes in 0.011s)
files\install_tool.sh: 1 file pushed. 0.5 MB/s (5077 bytes in 0.009s)
files\chargemon: 1 file pushed. 0.2 MB/s (1471 bytes in 0.008s)
files\hijack.sh: 1 file pushed. 0.5 MB/s (4047 bytes in 0.008s)
files\ramdisk-recovery.cpio: 1 file pu...d. 3.9 MB/s (14199808 bytes in 3.507s)
files\ramdisk-recovery.img: 1 file pushed. 3.9 MB/s (7291430 bytes in 1.769s)
files\byeselinux.ko: 1 file pushed. 0.6 MB/s (4680 bytes in 0.008s)

iovycustom start.
WARNING: linker: /data/local/tmp/iovycustom: unused DT entry: type 0x6ffffffe arg 0x9d0
WARNING: linker: /data/local/tmp/iovycustom: unused DT entry: type 0x6fffffff arg 0x1
iovyroot by zxz0O0
poc by idler1984

[+] Changing fd limit from 1024 to 4096
[+] Changing process priority to highest
[+] Getting pipes
[+] Allocating memory
[+] Installing func ptr
    [+] Patching address 0xc1073cd8
    [+] Start map/unmap thread
    [+] Start write thread
    [+] Spraying kernel heap
    [+] Start read thread
    [+] Done
    [+] sid = 50

got root lmao

[+] Run root command
    [+] Disable SELinux

mount: Device or resource busy
rictype=2
--- press any key to reboot ---
続行するには何かキーを押してください . . .

waiting for device...

removing temporary files...

--- all finished ---
続行するには何かキーを押してください . . .

C:\SO-04E_TWRP>

上記出力の途中にある「press any key to reboot」でキーを押す前にAndroidが再起動してしまいました。(本来はキーを押すまで再起動されません)

2回目は下記の結果で、こちらは成功しました。

C:\SO-04E_TWRP>install.bat
--- XperiaZR rootkit 2016/05/04 ---

waiting for device...
files\iovycustom: 1 file pushed. 0.3 MB/s (26252 bytes in 0.088s)
files\su: 1 file pushed. 3.4 MB/s (75364 bytes in 0.021s)
files\supolicy: 1 file pushed. 2.3 MB/s (29972 bytes in 0.013s)
files\libsupol.so: 1 file pushed. 4.0 MB/s (190972 bytes in 0.046s)
files\Superuser.apk: 1 file pushed. 3.6 MB/s (6117378 bytes in 1.639s)
files\busybox: 1 file pushed. 3.2 MB/s (772604 bytes in 0.229s)
files\99SuperSUDaemon: 1 file pushed. 0.0 MB/s (55 bytes in 0.007s)
files\install-recovery.sh: 1 file pushed. 0.0 MB/s (629 bytes in 0.012s)
files\install_tool.sh: 1 file pushed. 0.2 MB/s (5077 bytes in 0.019s)
files\chargemon: 1 file pushed. 0.2 MB/s (1471 bytes in 0.007s)
files\hijack.sh: 1 file pushed. 0.5 MB/s (4047 bytes in 0.009s)
files\ramdisk-recovery.cpio: 1 file pu...d. 3.5 MB/s (14199808 bytes in 3.897s)
files\ramdisk-recovery.img: 1 file pushed. 3.8 MB/s (7291430 bytes in 1.851s)
files\byeselinux.ko: 1 file pushed. 0.5 MB/s (4680 bytes in 0.009s)

iovycustom start.
WARNING: linker: /data/local/tmp/iovycustom: unused DT entry: type 0x6ffffffe arg 0x9d0
WARNING: linker: /data/local/tmp/iovycustom: unused DT entry: type 0x6fffffff arg 0x1
iovyroot by zxz0O0
poc by idler1984

[+] Changing fd limit from 1024 to 4096
[+] Changing process priority to highest
[+] Getting pipes
[+] Allocating memory
[+] Installing func ptr
    [+] Patching address 0xc1073cd8
    [+] Start map/unmap thread
    [+] Start write thread
    [+] Spraying kernel heap
    [+] Start read thread
    [+] Done
    [+] sid = 50

got root lmao

[+] Run root command
    [+] Disable SELinux

rictype=2
1508+1 records in
1508+1 records out
772604 bytes transferred in 0.054 secs (14307481 bytes/sec)
147+1 records in
147+1 records out
75364 bytes transferred in 0.004 secs (18841000 bytes/sec)
147+1 records in
147+1 records out
75364 bytes transferred in 0.005 secs (15072800 bytes/sec)
147+1 records in
147+1 records out
75364 bytes transferred in 0.005 secs (15072800 bytes/sec)
147+1 records in
147+1 records out
75364 bytes transferred in 0.005 secs (15072800 bytes/sec)
58+1 records in
58+1 records out
29972 bytes transferred in 0.002 secs (14986000 bytes/sec)
372+1 records in
372+1 records out
190972 bytes transferred in 0.011 secs (17361090 bytes/sec)
11948+1 records in
11948+1 records out
6117378 bytes transferred in 0.353 secs (17329682 bytes/sec)
1+1 records in
1+1 records out
629 bytes transferred in 0.001 secs (629000 bytes/sec)
2+1 records in
2+1 records out
1471 bytes transferred in 0.001 secs (1471000 bytes/sec)
7+1 records in
7+1 records out
4047 bytes transferred in 0.001 secs (4047000 bytes/sec)
27734+0 records in
27734+0 records out
14199808 bytes transferred in 1.185 secs (11982960 bytes/sec)
14241+1 records in
14241+1 records out
7291430 bytes transferred in 0.388 secs (18792345 bytes/sec)
9+1 records in
9+1 records out
4680 bytes transferred in 0.001 secs (4680000 bytes/sec)
0+1 records in
0+1 records out
55 bytes transferred in 0.001 secs (55000 bytes/sec)
    [+] Restore SELinux
    [+] Restore SID
--- press any key to reboot ---
続行するには何かキーを押してください . . .

waiting for device...

removing temporary files...

--- all finished ---
続行するには何かキーを押してください . . .
C:\SO-04E_TWRP>

成功するとアプリ一覧にSuperSuが増えています。

その5:電源を切る

その6:microSDの準備

Android本体は「2016年5月のZ・A向けCM13.0リリース」で説明を見た後、「CM13.0 for Xperia A (ZR) with Locked Bootloader」から、 cm-13.0-20160508-UNOFFICIAL-dogo.zip と ZR.5.1.1_ramdisk_replacer_for_CM13.0-2.zip を入手します。

上記にはGoogle Playストアなどは含まれていないため、「OpenGapps」からARM -> Android 6.0 -> Pico か Nano を入手します。

SO-04EではBoot LoaderがロックされているためRecoveryパーテーションにTWRPを書き込むことができず特殊なことをやっています。このため、上記でAndroidを書き込んだ直後に、同じように特殊なことをやって再度Recoveryを書く必要があります。

そのためのファイルを 「[DEVDB][TWRP][PhilZ Touch] XZDualRecovery 2.8.26 RELEASE」の ZR-lockeddualrecovery2.8.26-RELEASE.combined.zip を入手します。

(「[UB][RECOVERY] TWRP v3.1.1 for Xperia ZR」の Flashable stock kernel (.222/.228) with TWRP 3.0.3からTWRP-v3.0.3-0-stock-dogo.zip だとダメでした)

この4ファイルをmicroSDに書き込みます。

その7:TWRPリカバリーに入る

電源をいれ、「SONY Xepria」のロゴがでた後に、SONYロゴの下のランプが黄色く光ったら、音量下ボタンを押し続ける。

緑色に光ったらボタンをはなして問題無いです。

その8: 「Wipe」Factory Resetを実行

その9: 「Install」を実行

初期状態は/sdcard/ にいますが、microSDカードは「/external_sd/」になるので、そこに移動し、下記のパッケージを上から順に選択する。

cm-13.0-20160508-UNOFFICIAL-dogo.zip
ZR.5.1.1_ramdisk_replacer_for_CM13.0-2.zip
open_gapps-arm-6.0-pico-20170920.zip
ZR-lockeddualrecovery2.8.26-RELEASE.combined.zip

その10:再起動

再起動をして、しばらく待てば画面が表示されます。

ポケモンGoをやるためにXperia A SO-04Eを買ってみた


2018/06/21追記

Xperia ZRを含むXpreiaの2013年以前モデルのfirmwareが削除されてしまったようです。
このため、XperiaFirmでのダウンロードが行えなくなっています。

[TOOL] XperiFirm ~ Xperia Firmware Downloader [v5.3.6]

Can I download firmware for pre-2013 devices? / Why there are many pre-2013 devices missing?
Sony Mobile deleted older devices when they migrated to their new API. There’s nothing I can do about it.
Can I download older firmware? / Why there’s only one firmware version in the list, while there were multiple before?
I have no control over which firmware show per CDA. Sony Mobile deletes older firmware, and there is no way to download them after that.
Try finding your FTF on http://www.xperiablog.net/forum/resources/ or http://xperiafirmware.com/

ただ、「Xperia FTF」というサイトに転載されていますので、入手は可能です。


現在、我が家では、ポケモンGoをプレイするのに「BLUBOO X550」「Acer Liquid Z330」「Covia FLEAZ F4」の3台が使用されている。

が・・・普段使用+ポケGoのZ330と、ポケGo専用FLEAZ F4の動作が悪い、というクレームが・・・
あと、Z330のかわいいケースが無い、というのも・・・

仕方が無いので、安いモノを調達するかーと、探して、コレかな、と目星をつけたのが、Xperia A SO-04Eです。
4コア、RAM2GB、ストレージ32GBと、まぁ、スペック的には十分なもの。
そして、電池が容易に交換できるタイプであるため、バッテリーが死んでいても簡単に交換ができる。(BA950というバッテリー)
ドコモで販売していた機種であり、なおかつ海外でも販売されていたため、ケースが入手しやすいというのも利点の1つ。

この機種は、ドコモの標準では、Android OS 4.2.2までの対応なので、本来であればポケモンGoは動作しません。
しかし、海外版のXperia ZRでは、Android OS 5.1.1まで公式アップデートが提供されています。

ただし、海外版Xperia ZRには、おサイフケータイ(Edy,Suica)とワンセグ、NOTTVは搭載されていないため、これらの機能は利用できなくなります。
また、ドコモ純正アプリやSPモードも使えなくなります。
使えなくなるなら、海外版Xperia ZRでもいいんじゃない?という話もありますが、海外版のストレージは16GBなのです。そして、安く手に入るわけでもありません。

ドコモ契約じゃないし(IIJmio)、ワンセグもおさいふも使ってないから、使えなくても問題ない、と、Xperia A SO-04Eを選択しました。

書き換え手順紹介の前に、結果を書いてしまうと、Android 5.1.1となったXperia A SO-04Eは、

・ポケモンGo!は問題無く稼働
・ARも動作

です。

手順紹介前に最終警告

・ドコモのXi契約ユーザは、この手順を実施すると不利益をこうむります。
 具体的には下記が使えなくなります
  ・SPモード
  ・ドコモ純正アプリの多く
  ・iコンシェルとかもいなくなります
  ・~@docomo.ne.jpのメールアドレス
 回避手段はあるらしいのですが、私はXi契約をしたことがないので解説できません
・ワンセグとオサイフケータイ機能が使えなくなります
・SO-04E mikuユーザの場合、ミクがいなくなります


で・・・どのようにアップデートするかですが

その1:Flashtoolのversion 0.9.18.6を入手

Xperiaシリーズ用のfirmware書き換えソフトFlashtoolを入手。
最新版ではfirmware書き換え上、支障があるポイントがあるため、旧バージョンを入手する必要がある。

入手に関する注意点
・ダウンロードページで罠サイトの広告が表示されやすいので注意が必要
・kasperskyだと0.9.18.6はrootkitが入っている、ということで隔離される(実際Android向けにrootを入れるものが入っているので誤検知ではない)
・というわけでとりあえずdropboxにflashtool 0.9.18.6を転載(ダウンロード数が多いと24時間ダウンロードできなくなります。駄目だったら再チャレンジ)

その2:Flashtoolで書き換えに必要なfirmwareをダウンロードする

Flashtoolを起動する

並んでいるアイコン群の中で「XF」という文字列が見える一番右側のアイコンをクリックすると、別ウィンドウでXperiFirmが開く

そこから「Xperia ZR」を探す。

書き戻し用に「SO-04E」と、バージョンアップ用に「C5503」のイメージをダウンロードする。

C5503用はいろいろあるが「Nordic Combined」を使うのが、Sony Ericsson時代からのお約束的なところがあるようだ。(Xperia X10 mini proの時もそうだったなぁ・・・)

「Available Download」という文字列の下のバージョンをクリックすると下記のウィンドウが開くので、ダウンロードする。

ダウンロードが終わったらXperiFirmを閉じる。
すると、Flashtoolの画面で、数分間firmwareファイルの展開処理が実行されているので、しばらく待つ。

その3:flashmodeで開いてfirmwareを書き込む

今度は一番左側の雷マークをクリックする。

「Flashmode」を選択する

Firmwareの書き込み設定の標準状態は上記の様になっている。

標準ではチェックが入っていない「Exclude(除外)」設定のところから「PARTITION」「BASEBAND」「SYSTEM」についてチェックを入れる。(つまり、「PARTITION」「BASEBAND」「SYSTEM」は書き換えない、という設定にするということ)

最新版のFlashtoolだと「BASEBAND」が他の項目と統合されてしまっていて除外設定が行えないので注意。
BASEBANDを書き換えてしまうと、FOMAプラスエリアが使えなくなってしまうので注意。
また、PARTITIONを書き換えてしまうと、ストレージが16GB認識となります。

電源を切ったXperia SO-04Eの、音量下ボタンを押しながらUSBケーブルをつなげると、書き換えが開始される。

書き換え完了後の初回ブートは、うまくいかないことが多い。
起動音を確認して、そのあと、5分ぐらいずっとロゴが動いてるようだった、1回、バッテリーを抜いて、再度電源を入れ直すと起動してくる