少し前の投稿で、Xperia Z1/Z1 f (SO-01F/SO-02F) の Lollipop アップデートの署名活動について書いたりして、定期的に動きを観察してきたのですが、最近あまり動きが見られない。
たとえその思いが docomo に届いたとしても、アップデートされるかどうかは結局 docomo 次第で、期待薄。
でも、やっぱり Lollipop への想いは膨らむばかり。
キャリアアプリも、停止はしてるけど、「邪魔だな」と思い始め。
ただ、日本向け機能
……とか言いながら、やっちゃったんですけどね(笑)
私の相棒 Xperia Z1 f のファームウェアのビルドは、14.3.B.0.346。
2015年6月にリリースされたビルド。
ただ、docomo から見放されたので、これ以降のアップデートは降ってこないと思う。
なので、おそらく最終ビルド。
そして、今回の目標 (ゴール) は次の通り。
root 化 (rooted) は、前々からやってみようと思ってたのと、セルスタンバイ問題を解決するため。
# セルスタンバイ問題とか、全くと言っていいほど気にせず使ってきたけど、なんとなくやってみたくなっただけ。やってみたけど、あんまり恩恵無い気がする。
root 化するので、端末の保証が効かなくなります。
ちゃんと戻せれば修理に出せないことはないと思うけど、修理に出して直すくらいなら、新しい端末を買ったほうがいいと思う、個人的には。
# 一言添えておくと、root 化しなくても Lollipop 化は可能です。Flashtool で、XperiFirm で拾った Z1 Compact のファームウェアを焼けばいいみたいです。今回はやらないけどね。
今回の大まかな流れ。
Xperia Z1 (SO-01F) でも同じようにできると思います。使用するファームウェアを Z1 のもの (C6903 あたりがいいのかな?) に置き換えれば同じ手順でいけるはずです。
初めてやったこともあり、細かいことまで調べるのに結構時間がかかりました(^-^;)
とは言っても、先人の知恵はネット上に大量に転がっており、大抵のことは調べれば解決できました。
本当に、先人の方々には足を向けて寝られません。
ダウングレードする理由としては、root 化するため。
root 化するには、Android の脆弱性を突く必要があるのですが、その脆弱性があるビルドが 14.3.B.0.288 というわけ。
もう少し言うと、14.3.B.0.288 より古くてもいい。
1つ前になると 14.1.H.2.119、そのもう1つ前だと 14.1.H.1.281。
# 更に古くなると、初期ビルドの 14.1.H.0.542。まぁ、初期ビルドの復元用のデータを持ってる人なんてほとんどいないだろうけど、多分できるじゃない? 責任は取れないけど。
→ 14.1.H.2.119 から Lollipop 化をやったところ、rooted Lollipop を焼いた後、Soft Brick してしまいました…… Android 4.2.2 からの Android 5.0.x は無理があったようです。完全 Wipe してから焼けば上手くいくかもしれません。が、試していないので、自己責任で。
どのバージョンでもいいけど、Flashtool [1] で焼けば OK。 (最新の v0.9.19.0 だと、やり方が悪かったのか焼けなかったので、v0.9.18.6 を使用。)
因みに、Flashtool での書き込みは、端末に元々備わった機能でファームウェアを焼くだけなので、危険度は非常に低いです。
bootloader さえ生きていれば、この方法でいつでも復旧可能。 (今回の方法では、bootloader が Unlock になることはないので、おかしくなったらこのツールで戻せばいい。)
焼き方をざっくりと説明すると、
書き込みには、ファームウェアが必要になる。
少なくとも、正常な FTF ファイルを 1 つでも持っておくべき。 (復旧のため。作り方は適当にググって。)
私は、以前ファームウェアのアップデートの際に、必要なファイルを確保しておいたので、それを使った。
もし持っていないのであれば、"SO-02F_14.3.B.0.288_docomo.ftf" なんて名前で落ちてるんでそれを拾ってもいい。
# まがい物だったとしても責任は取れませんが。
そして、何らかの方法で入手した FTF 形式のファームウェアを、"C:\ユーザー\<ユーザー名>\.flashTool\firmwares" に配置すると、上の図のように配置したファームウェアが自動的に読み込まれる。
また、XperiFirm [2] で入手できるファームウェア (build 14.4.A.0.108) で無理やり root 化している事例もある [3]。 (今回は説明しないけど。)
結果として、root 化できるのであれば、何でもあり。
# 参考
root 化で使うのが、キューブキューブさんが作成した、「ワンクリックroot取得ツール」 [1]。
Kernel の脆弱性「Towel」を使って root 化 (TowelRoot) する (というか、そういうことをしないと root 化できない) ので、ツールをダウンロード or 解凍すると、PC のウィルス対策ソフトが反応すると思いますので、一時的に無効化して、ツールを使ってください。 (当方、ESET Smart Security を使っていて、解凍時に、脅威「Android/Exploit.Towel.Fの亜種 トロイの木馬」が検出された旨が通知されました。)
また、このツールは、端末を ADB (Android Debug Bridge) という、Google が提供している Android を PC から弄るためのツールを使い、端末の root 化を行います。
そんなわけで、ADB 環境を用意する必要があるのですが、正当法は結構面倒なので、「15 seconds ADB Installer [2]」というツールを使って ADB 環境を構築します。
ADB が用意できれば、あとはキューブキューブさんのページに書いてある通りにツールを実行するだけです。めっちゃ簡単です。
処理後、アプリ一覧に「SuperSU [3]」があれば、正常に root 化されたと判断していいでしょう。
# 参考
一般に、カスタムリカバリのためのアプリケーションとして、
の2つが2大巨頭として存在しています。
そして、CWM をタッチ操作できるなどのカスタマイズを施した「PhilZ Touch」というのがあります。
で、その3つを一度に導入できちゃうのが「XZDualRecovery [3]」。
「カスタムリカバリってのはわかったけど、とうしてカスタムリカバリなんて用意しなきゃいけないの」と思うかもしれません。
その理由はこの後、ファームを書き込んでいく作業に必要だから。前項で書き込んだものはメーカーが作成したものだけが使える方法で、同じ方法ではカスタマイズしたファームウェアを焼くことかできないのです。だから、必要になります。
また、XZDualRecovery のもう1つの効果として、「ric対策」があるよう。
Xperia 固有のシステム監視機構 ric が、悪さをして、再起動を繰り返してしまう問題があるのですが、その問題を解決してくれるらしい。
他の方法でも回避は可能らしいのですが、手軽さ的に XZDualRecovery での対策をオススメします。
で、導入方法。
今回使ったのは [4] のページに、次の階層で置かれている
Z1 Compact は Z1 f のグローバル版なので、これを採用した。
root 化込みの導入もできるよう (前項の代わりに、こっちを使っても行ける気がする) で、これまた、トロイ認定される。
root 化しないので、対象のファイルが消されても恐らく導入は可能だと思ったが、正常動作しなくなって、導入に失敗されても困るので、先ほどと同じようにウィルス対策ソフトを一時的に無効化して、実行した。
インストールの仕方は、先ほどのキューブキューブさんの root 化と限りなく同じ。
端末をデバッグモードで PC に繋ぎ、解凍したフォルダ内のバッチファイルを実行し、「もう SuperSU で root 化してるよ」モード (1番) で実行してあげればおしまい。
導入すると、自動的に再起動し、TWRP が立ち上がるので、
また、それぞれのカスタムリカバリの起動方法は、
端末起動時、(正確には通知LEDが緑に光っている&バイブレーションが動いている時に)
# 参考
続いて、Xperia Z1 f を Lollipop 化するためのイメージを作成していきます。
使うのは、「PRFCreator [1]」というツール。
このツールでイメージを作成するために必要なファイルが次の3つ。
また、このアプリケーションを使用する場合には、Java (JRE) [3] が必要になるので、適当に導入しておく必要あり。
肝心のリカバリイメージの作成方法は、
生成されたファイル flashable-prerooted-signed.zip は、端末の内蔵ストレージかSDカードに移動してあげてください。
# 参考
前項で作成した、イメージを焼いていきます。
まず、端末の電源を切ります。
「SONY」のロゴが出ているような状況のとき、通知 LED が緑/バイブレーションが動いたら、音量↓を連打してください。 (赤紫になれば OK です。)
すると、TWRP が立ち上がると思います。
続いて「Install」を選び、前項で作成した flashable-prerooted-signed.zip を選びます。
その後、「Swipe to Confirm Flash」をスライドすると、書き込みが始まります。
終わったら、リブートしてあげてください。 (「Wipe cache/dalvik」したほうがいいかも。)
無事起動すれば、Lollipop 化成功です!
起動しない場合には、恐らく Soft Brick してると思うので、下記トラブルシューティングを参考に、ファームウェアを焼いて、元に戻し、問題点を推測&修正し、やり直してみてください。
最後に、Xposed [1] を導入し、セルスタンバイ対策をします。
Xposed の導入手順は、
投稿作成時点で、Lollipop 向けの Xposed は、アルファリリース状態。
つまり、ベータにも達していない、かなり不完全なものとなっています。なので、自己責任で。
この投稿で使用したファイルは、
その後、AndroPlusMod [2] という、Xperia 向けの Xposed モジュールをインストールします。
この中に、セルスタンバイ対策が含まれているので、有効化するのを忘れずに。
# AndroPlusMod は WedyMod-res の Android 5.0 Lollipop 対応版ということらしい。
導入は、APK ファイルからインストールし、Xposed から有効化して、再起動してあげればおしまいです。 (ここでブートループに陥る可能性もあるみたいなので、一応覚悟してやってください。)
# 今回は、org.androplus.wedymod_v3_45df6f.apk (AndroPlusMod v1.2) を使用しました。
他にも、より細かな音量調節をするために「VolumeSteps+ [3]」というモジュールも導入してみました。私の環境では問題なく動作しています。
# 参考
A. 音量↓を押しながら、PC と接続し、Flashtool で適当なファームウェアを焼いてください。
Q. 元に戻したい。
A. Flashtool で適当なファームを焼いて、元に戻してあげてください。
結果としては無事、Xperia Z1 f の root 化 + Lollipop 化 (Compact 化) + MVNO 向きカスタマイズに成功。
数日間使っていますが、特に問題もなさそう。
自己責任でお試しください。
たとえその思いが docomo に届いたとしても、アップデートされるかどうかは結局 docomo 次第で、期待薄。
でも、やっぱり Lollipop への想いは膨らむばかり。
キャリアアプリも、停止はしてるけど、「邪魔だな」と思い始め。
ただ、日本向け機能
- おサイフケータイ (自分は使ったことないけど。ただ、NFC リーダとして Suica や PASMO の残高確認ができないのは少し困るけど……)
- ワンセグ (たまに使ってた。無くても困らないけど。)
- など (なんか他にもあった気もするけど、忘れるくらいなので、大したことじゃないかと。)
……とか言いながら、やっちゃったんですけどね(笑)
私の相棒 Xperia Z1 f のファームウェアのビルドは、14.3.B.0.346。
2015年6月にリリースされたビルド。
ただ、docomo から見放されたので、これ以降のアップデートは降ってこないと思う。
なので、おそらく最終ビルド。
そして、今回の目標 (ゴール) は次の通り。
- Lollipop 化
- ついでに root 化
- データ通信専用 MVNO SIM での運用のため、セルスタンバイ問題への対策
root 化 (rooted) は、前々からやってみようと思ってたのと、セルスタンバイ問題を解決するため。
# セルスタンバイ問題とか、全くと言っていいほど気にせず使ってきたけど、なんとなくやってみたくなっただけ。やってみたけど、あんまり恩恵無い気がする。
root 化するので、端末の保証が効かなくなります。
ちゃんと戻せれば修理に出せないことはないと思うけど、修理に出して直すくらいなら、新しい端末を買ったほうがいいと思う、個人的には。
# 一言添えておくと、root 化しなくても Lollipop 化は可能です。Flashtool で、XperiFirm で拾った Z1 Compact のファームウェアを焼けばいいみたいです。今回はやらないけどね。
今回の大まかな流れ。
- 14.3.B.0.346 から 14.3.B.0.288 にダウングレード
- 14.3.B.0.288 で root 化
- カスタムリカバリ (XZDualRecovery) の導入
- PRFCreator で、rooted を維持したまま Lollipop 化できるイメージを作成
- カスタムリカバリを使って、作成したイメージを焼き、アップグレード
- Xposed を導入し、 AndroPlusMod をインストール (セルスタンバイ問題への対策)
- 完成!
Xperia Z1 (SO-01F) でも同じようにできると思います。使用するファームウェアを Z1 のもの (C6903 あたりがいいのかな?) に置き換えれば同じ手順でいけるはずです。
初めてやったこともあり、細かいことまで調べるのに結構時間がかかりました(^-^;)
とは言っても、先人の知恵はネット上に大量に転がっており、大抵のことは調べれば解決できました。
本当に、先人の方々には足を向けて寝られません。
これ以降、私の取り組みの覚書となります。
真似をするのは勝手ですが、くれぐれも自己責任でよろしくお願いします。
助言くらいなら出来るかも知れませんが、それ以上のサポートはできませんので、あしからず。
また、しっかりとバックアップを取った上で試してください。
また、しっかりとバックアップを取った上で試してください。
■ 14.3.B.0.288 へのダウングレード
ダウングレードする理由としては、root 化するため。
root 化するには、Android の脆弱性を突く必要があるのですが、その脆弱性があるビルドが 14.3.B.0.288 というわけ。
→ 14.1.H.2.119 から Lollipop 化をやったところ、rooted Lollipop を焼いた後、Soft Brick してしまいました…… Android 4.2.2 からの Android 5.0.x は無理があったようです。完全 Wipe してから焼けば上手くいくかもしれません。が、試していないので、自己責任で。
どのバージョンでもいいけど、Flashtool [1] で焼けば OK。 (最新の v0.9.19.0 だと、やり方が悪かったのか焼けなかったので、v0.9.18.6 を使用。)
因みに、Flashtool での書き込みは、端末に元々備わった機能でファームウェアを焼くだけなので、危険度は非常に低いです。
bootloader さえ生きていれば、この方法でいつでも復旧可能。 (今回の方法では、bootloader が Unlock になることはないので、おかしくなったらこのツールで戻せばいい。)
焼き方をざっくりと説明すると、
- Flashtool を起動
- 稲妻マークをクリック
- Flashmode を立ち上げる
- データをそのまま引き継ぐために、Wipe 内 APPSLOG と DATA のチェックは外す (動いたけど、「連絡先」周りがおかしくなったので、非推奨で。)
- Flash を押す
- Xperia Z1 f の電源を切る
- 30秒くらい放置する
- 音量ダウンボタンを押しながら、USB ケーブルを PC に繋ぐ
- 書き込み (焼き) が始まる
書き込みには、ファームウェアが必要になる。
少なくとも、正常な FTF ファイルを 1 つでも持っておくべき。 (復旧のため。作り方は適当にググって。)
私は、以前ファームウェアのアップデートの際に、必要なファイルを確保しておいたので、それを使った。
もし持っていないのであれば、"SO-02F_14.3.B.0.288_docomo.ftf" なんて名前で落ちてるんでそれを拾ってもいい。
# まがい物だったとしても責任は取れませんが。
そして、何らかの方法で入手した FTF 形式のファームウェアを、"C:\ユーザー\<ユーザー名>\.flashTool\firmwares" に配置すると、上の図のように配置したファームウェアが自動的に読み込まれる。
また、XperiFirm [2] で入手できるファームウェア (build 14.4.A.0.108) で無理やり root 化している事例もある [3]。 (今回は説明しないけど。)
結果として、root 化できるのであれば、何でもあり。
# 参考
- Flashtool | Xperia device flashing
- [TOOL] XperiFirm ~ Xperia Firmware Downloader [v4.7.3] - XDA Forums
- Xperia Z1 f SO-02F 14.3.B.0.310 で、ムリヤリ root 取得 | in Low gear.
■ root 化
root 化で使うのが、キューブキューブさんが作成した、「ワンクリックroot取得ツール」 [1]。
Kernel の脆弱性「Towel」を使って root 化 (TowelRoot) する (というか、そういうことをしないと root 化できない) ので、ツールをダウンロード or 解凍すると、PC のウィルス対策ソフトが反応すると思いますので、一時的に無効化して、ツールを使ってください。 (当方、ESET Smart Security を使っていて、解凍時に、脅威「Android/Exploit.Towel.Fの亜種 トロイの木馬」が検出された旨が通知されました。)
また、このツールは、端末を ADB (Android Debug Bridge) という、Google が提供している Android を PC から弄るためのツールを使い、端末の root 化を行います。
そんなわけで、ADB 環境を用意する必要があるのですが、正当法は結構面倒なので、「15 seconds ADB Installer [2]」というツールを使って ADB 環境を構築します。
ADB が用意できれば、あとはキューブキューブさんのページに書いてある通りにツールを実行するだけです。めっちゃ簡単です。
処理後、アプリ一覧に「SuperSU [3]」があれば、正常に root 化されたと判断していいでしょう。
# 参考
- 【Xperia】各機種ワンクリックroot取得【NX/acro HD/GX/SX ~ Z2/A2 等】
- [TOOL] [WINDOWS] ADB, Fastboot and Drivers -… | Android Development and Hacking | XDA Forums
- SuperSU - Google Play の Android アプリ
■ カスタムリカバリ XZDualRecovery の導入
一般に、カスタムリカバリのためのアプリケーションとして、
の2つが2大巨頭として存在しています。
そして、CWM をタッチ操作できるなどのカスタマイズを施した「PhilZ Touch」というのがあります。
で、その3つを一度に導入できちゃうのが「XZDualRecovery [3]」。
「カスタムリカバリってのはわかったけど、とうしてカスタムリカバリなんて用意しなきゃいけないの」と思うかもしれません。
その理由はこの後、ファームを書き込んでいく作業に必要だから。前項で書き込んだものはメーカーが作成したものだけが使える方法で、同じ方法ではカスタマイズしたファームウェアを焼くことかできないのです。だから、必要になります。
また、XZDualRecovery のもう1つの効果として、「ric対策」があるよう。
Xperia 固有のシステム監視機構 ric が、悪さをして、再起動を繰り返してしまう問題があるのですが、その問題を解決してくれるらしい。
他の方法でも回避は可能らしいのですが、手軽さ的に XZDualRecovery での対策をオススメします。
で、導入方法。
今回使ったのは [4] のページに、次の階層で置かれている
- XZDualRecovery
- XZDualRecovery 2.8.21
- Z1C-lockeddualrecovery2.8.21-RELEASE.installer.zip
Z1 Compact は Z1 f のグローバル版なので、これを採用した。
root 化込みの導入もできるよう (前項の代わりに、こっちを使っても行ける気がする) で、これまた、トロイ認定される。
root 化しないので、対象のファイルが消されても恐らく導入は可能だと思ったが、正常動作しなくなって、導入に失敗されても困るので、先ほどと同じようにウィルス対策ソフトを一時的に無効化して、実行した。
インストールの仕方は、先ほどのキューブキューブさんの root 化と限りなく同じ。
端末をデバッグモードで PC に繋ぎ、解凍したフォルダ内のバッチファイルを実行し、「もう SuperSU で root 化してるよ」モード (1番) で実行してあげればおしまい。
導入すると、自動的に再起動し、TWRP が立ち上がるので、
- 「Settings」から、Time Zone を日本時間 (UTC +9) に設定
- 「Backup」から、システムのバックアップ
また、それぞれのカスタムリカバリの起動方法は、
端末起動時、(正確には通知LEDが緑に光っている&バイブレーションが動いている時に)
- 音量↑を押すと、「PhilZ Touch」
- 音量↓を押すと、「TWRP」
# 参考
- ClockworkMod
- TeamWin - TWRP
- [DEVDB][TWRP][PhilZ Touch][CWM] XZDualRecovery 2.8.21-RELEASE - XDA Forums
- -=- [NUT]'s XDADevelopers downloads -=-
- 【TWRP】Team Win Recovery Project(チームウィンリカバリプロジェクト:TWRP)の起動と操作・使用 | AndMem
- NDRUtils [root] - Google Play の Android アプリ
■ root 化を維持したままアップグレード可能なリカバリイメージの作成
続いて、Xperia Z1 f を Lollipop 化するためのイメージを作成していきます。
使うのは、「PRFCreator [1]」というツール。
このツールでイメージを作成するために必要なファイルが次の3つ。
- 焼きたい FTF ファイル
今回は、Xperia Z1 f の海外モデル Xperia Z1 Compact (D5503) の Customized UK / build 14.5.A.0.270 を XperiFirm でダウンロードし、Flashtool で FTF にしたものを使用。
- SuperSU [2]
root 化した時に必要なアプリ。とりあえず必要。使用したのは「UPDATE-SuperSU-v2.46.zip」。解凍する必要はない。 - Recovery
カスタムリカバリをセットアップするためのファイル。前項で取り上げた「XZDualRecovery」の flashable 版 (Z1C-lockeddualrecovery2.8.21-RELEASE.flashable.zip) を使用。SuperSU 同様に解凍は不要。
また、このアプリケーションを使用する場合には、Java (JRE) [3] が必要になるので、適当に導入しておく必要あり。
肝心のリカバリイメージの作成方法は、
- PRFCreator を起動
- 上に示した3つのファイルを指定
- 右上の「Include」で、少なくとも Kernel にチェックを入れる。 (全部入れても問題はなかったが、FOTAKernel や LTALabel は外していいかと。)
- (必要かわからないが、) Sign zip にチェック
- 右下の Create でリカバリイメージを生成
生成されたファイル flashable-prerooted-signed.zip は、端末の内蔵ストレージかSDカードに移動してあげてください。
# 参考
- [TOOL] PRFCreator - easily create pre-rooted firmwares - XDA Forums
- SuperSU Download
- Windows版Javaのダウンロード
■ カスタムリカバリでイメージを焼く
前項で作成した、イメージを焼いていきます。
まず、端末の電源を切ります。
「SONY」のロゴが出ているような状況のとき、通知 LED が緑/バイブレーションが動いたら、音量↓を連打してください。 (赤紫になれば OK です。)
すると、TWRP が立ち上がると思います。
続いて「Install」を選び、前項で作成した flashable-prerooted-signed.zip を選びます。
その後、「Swipe to Confirm Flash」をスライドすると、書き込みが始まります。
終わったら、リブートしてあげてください。 (「Wipe cache/dalvik」したほうがいいかも。)
無事起動すれば、Lollipop 化成功です!
起動しない場合には、恐らく Soft Brick してると思うので、下記トラブルシューティングを参考に、ファームウェアを焼いて、元に戻し、問題点を推測&修正し、やり直してみてください。
■ Xposed の導入
最後に、Xposed [1] を導入し、セルスタンバイ対策をします。
Xposed の導入手順は、
- Xposed の APK を使って、Xposed をインストール
- カスタムリカバリで、Xposed のフレームワークをインストール (リカバリイメージを焼いた時と同じようにやればいい。)
投稿作成時点で、Lollipop 向けの Xposed は、アルファリリース状態。
つまり、ベータにも達していない、かなり不完全なものとなっています。なので、自己責任で。
この投稿で使用したファイルは、
- XposedInstaller_3.0_alpha4.apk
- xposed-v71-sdk21-arm.zip
その後、AndroPlusMod [2] という、Xperia 向けの Xposed モジュールをインストールします。
この中に、セルスタンバイ対策が含まれているので、有効化するのを忘れずに。
# AndroPlusMod は WedyMod-res の Android 5.0 Lollipop 対応版ということらしい。
導入は、APK ファイルからインストールし、Xposed から有効化して、再起動してあげればおしまいです。 (ここでブートループに陥る可能性もあるみたいなので、一応覚悟してやってください。)
# 今回は、org.androplus.wedymod_v3_45df6f.apk (AndroPlusMod v1.2) を使用しました。
他にも、より細かな音量調節をするために「VolumeSteps+ [3]」というモジュールも導入してみました。私の環境では問題なく動作しています。
# 参考
- [OFFICIAL] Xposed for Lollipop - XDA Forums
- AndroPlusMod | Xposed Module Repository
- VolumeSteps+ | Xposed Module Repository
■ トラブルシューティングなど
Q. TWRP で焼いたら、電源ボタンを長押ししても、バイブレーションが動くだけで、起動しなくなった。A. 音量↓を押しながら、PC と接続し、Flashtool で適当なファームウェアを焼いてください。
Q. 元に戻したい。
A. Flashtool で適当なファームを焼いて、元に戻してあげてください。
結果としては無事、Xperia Z1 f の root 化 + Lollipop 化 (Compact 化) + MVNO 向きカスタマイズに成功。
数日間使っていますが、特に問題もなさそう。
自己責任でお試しください。
0 件のコメント :
コメントを投稿