【追記】2022/3/17
新しく書き直しました。
基本的には↑参考にしていただいた方が情報も新しく、やりやすいかと思います。
また、この記事はいずれ削除する可能性が高いです。上のリンクよりも古い記事であるため、今後更新予定はありません。
記事の余計な部分を端折り、若干修正を加えました。
【追記】2021/03/31
各ファイルのリンクを貼り、記事に細かな修正を加えました。
【追記】2021/03/13
記事に細かな修正を加えました。
カスタマイズを、していく。
では早速。お決まりの台詞ですが
自己責任でお願いします。
で、platform-tool系(ADBとかFastboot)は使える前提、FlashToolも使える前提で書いていきます。
BLU(Bootloader Unlock)は調べてみればわかる通り、リスキーだと書いているサイトも多いので、特に慣れていない方はあまり手を出さない方が良いかもしれません。
また、この記事ではWi-FiモデルのZ3 Tablet Compactをターゲットに書いています。LTEモデルの場合は記事中のIDIDをIMEIに置き換えて、また使用するファイルは「windy」と表記されていないものを使用していただければ同じような流れで作業はできます。「windy」は基本的にWi-Fiモデル向けのファイルであることを指します。
簡単な流れはこんな感じ
1~3はTAのバックアップ取りたいよって人だけ。
できるだけ取った方がいいです。
1.ROMを初期ビルドに戻す
2.Root権限を取る
3.TAのバックアップ
4.BLUコード発行
5.BLU
6.最新ビルドに上げる
7.カスタムROMを焼く
事前に準備しておくもの
- PC
筆者はWindows8.1, 10で動作確認。USB給電が弱いPC(ノートとか)だと作業中に端末が落ちることがあります。 - ADB, Fastboot環境
r26.X.X以前のバージョンが必要。公式で過去バージョンを配布しているのですが、探すのがめんどいのでリンクを作っておきました。直リンなので押すと即DLされますのでご注意ください。各OSのを用意したのでリンク末尾のOSを見てDLしてください。
https://dl.google.com/android/repository/platform-tools_r26.0.2-windows.zip
https://dl.google.com/android/repository/platform-tools_r26.0.2-macosx.zip
https://dl.google.com/android/repository/platform-tools_r26.0.2-linux_x86.zip
リンクが変更される可能性がありますのでリンク切れしていたら申し訳ございません。また、その旨コメントで教えていただけると助かります。
- FlashTool
事情がない限りは基本的に最新のものを使用します。
http://www.flashtool.net/downloads.php
導入方法はこのブログでも紹介していますが、かなり雑なので他の方のを見た方がわかりやすいです。何故か検索するとかなり上の方にこのブログが出てきますが。 - XperiFirm
本来であればFlashToolにくっついてくるので個別の導入は不要なのですが、自分の環境が悪いのかFlashToolがバグってるのか全く使えないので別途導入します。
https://forum.xda-developers.com/t/tool-xperifirm-xperia-firmware-downloader-v5-6-0.2834142/
- 初期ビルドのFTF
厳密にはRootkitの対応範囲内のファームウェアを用意します。筆者は23.0.1.A.0.167を用意。後ろのR3Dとかは無視しても問題ありません。 - TAのバックアップツール
んなもん要らんって人はどっちでも。極力バックアップ推奨。
- 最新ビルドのFTF
これはXperiFirmから難なくDLできます。 - Rootkit
今回もキューブ実験室氏のキットを使わせていただきます。
http://cubeundcube.blogspot.com/2015/09/xperiarootzz1z2z3.html
リンク先の作者様の記事にも書いてありますが、このツールの使用に限らずBLU作業自体が自己責任の域になります。 - カスタムROM
今回はLineageOS15.1を使わせていただきます。
https://forum.xda-developers.com/t/rom-z3tc-lineageos-15-1-sgp621-unofficial.3871199/
-
TWRP
windy向けのはずなのですが、よくError7でこけます。ROM側を偽装することで対処可能です。同じ方法でLTE版に使用することもできます。
https://dl.twrp.me/scorpion_windy/twrp-3.0.2-0-scorpion_windy.img.html - OpenGApps
ARM, Android 8.1, Picoを使用します。
VariantはPicoでなくても良いのですが、後からでもインストールできるので筆者は最も軽いものを選んでいます。 - Magisk
Rootを取る方は。 ROM側でRoot管理はできますが、機能的にはMagiskの方が多いので使い込む方はこっちの方が良いかもしれません。
1.ROMを初期ビルドに戻す
TAのバックアップなんて要らんよ、って人は4まで飛ばして6を無視して良いですが、どちらかといえば非推奨。できればバックアップ取った方がいいです。
Z3TCのROMを極力古いものに戻します。今回は、23.0.1.A.0.167を使用。これはRoot権限の取得だけを目的としているOSなので、長期滞在はしないためCDAとかどこでもいいと思います。で、初期ビルドに戻す前にデータをバックアップしておいた方が良いです。別にこのタイミングでしなくてもよいですが、
・できるだけクリーンな状態にした方がRootがとりやすい
・そもそもミスってデータ消える可能性あり
・どの道BLU後に強制完全初期化が入る
という感じなのでここでしておいた方が楽です。
FlashToolでFullWipe(ほぼすべての項目)を焼きます。丁寧に説明すると...
(カッコ)内に軽く説明を書いておきました。
項目名の左側に☑or□を書いておきました。これの通りチェックをつける、外すしてもらえば恐らく大丈夫だとは思います。が、環境によっては表示できないかもしれません。
左側(Wipe)
こちらはチェックを入れるとその項目はFlashされます。
Sin
☑APPS_LOG(チェックするとデータ消える、できればチェック)
☑B2B(どっちでもいいが、心配ならチェック)
☑USERDATA(チェックするとデータ消える、できればチェック)
Misc TA
□すべて無視(チェックはつけない)
右側(Exclude)
こちら側はチェックを入れると除外されます。
初期状態でチェックは外れています。
Sin
□AMSS系3つ(どっちでもいいが、心配ならチェックは入れない)
□BOOT_DELIVERY(必ずチェックを入れない)※
□CACHE(チェックを外す)
☑ELABEL(技適表示とかなのでどっちでも)
□FOTAKERNEL(必ずチェックを外す)
□KERNEL(必ずチェックを外す)
□PARTITION(読んで字のごとくなのでどっちでも、心配ならチェックを外す)
□SYSTEM(必ずチェックを外す)
※【追記】
ブリックの原因になり得る為極力チェックは入れない方が良い(Flashした方が良い)ですが、環境やFlashToolのバージョンによってはコケるのでその場合はFlashToolのバージョンを上げます。筆者が試した限り、チェックを入れてもブリックはしませんでしたが、FlashToolのバージョンを上げる方が低リスクです。
Misc TA
☑全部無視というかチェック
ですが、CUSTとかFOTAとかは焼いてもさほど変わらないので実験してみたければどうぞ。あまり意味はないですが。
FTFの作成手段によっては中身が異なることがあるのでその他、ここに記載のない項目があったらそれは基本的に無視。というか焼かないようにする。Excludeの方はチェックつけないと勝手に焼かれるから注意。
下のSimulateとかDisable~とかUSB bufferは無視してかまいません。
準備ができたら、Flash。
失敗したときは、落ち着いて元のバージョンのROMを焼いてやればほとんどの場合元に戻ります。心配ならXperiaCompanionの修復機能でも直せます。(ただしよくコケるので失敗したら再度試してください。)
ROM焼きに10分ほどかかります。
Flashing Finished
がログに現れたらOK、本体を起動。初期起動に5分ほどかかります。
2.Root権限を取る。
起動したら初期設定を済ませます。Wi-Fiの設定とか、Googleアカウントの設定とか要らないのですべて飛ばしてOKです。ホームからすべてのアプリを表示。設定アプリ→端末情報→ビルド番号があるので、これを連打。8回ほどタップすると設定アプリ直下に開発者向けオプションが現れるのでそれを開きます。
・充電中はスリープモードにしない(任意、ONにしておくと楽)
・USBデバッグを有効にする
をそれぞれON。
準備ができたらキューブ実験室氏のrootkitXperia_20150926を使わせていただき、権限取得。この時にFlashToolが開いていると干渉して失敗することが多いので閉じます。端末とPCを接続、install.batを実行。端末側に、メッセージボックスがでてきたら「常に信頼する」にチェックを入れてOK。
あとは勝手に進み、端末が再起動します。
青い波の起動画面の後、ホームの全てのアプリを表示させ、ページ最後の方にSuperSUが追加されていれば成功。
もしなければ、1からやり直すことを推奨。2の最初からやり直しても良いですが、基本的に時間の無駄になることが多いです。
3.TAのバックアップ
Backup-TA-9.11をXDAからダウンロード。ちなみにこいつはRoot権限がないと使えないので注意。Root権限を許可するか聞かれるので許可。
↑はてなブログの意味わからん仕様のせいで回転してます。ごめんなさいm(_ _)m
Backup-TA.batを実行し、画面に従っていきます。途中選択肢が現れたらBackupを選択。このツールの画面を覚えていないのですが、意外と単純なので画面に従っていけば特に問題はありません。
ツールのBackupフォルダにzip形式でバックアップが保存されていればOK。このzip、よくどっか行くのでリネームしてわかりやすい名前に変えておくと良いです。
4.BLUコードの発行
まず、Z3TC側で連絡先アプリを開きます。
右上の三点アイコンをタップし、設定を選択。
この画面の下1/3ほど、だいたいホームボタンの1.5cm上くらいを8秒ほど長押し。
サービスコードを入力、というボタンが表示されるのでタップ、ダイヤルパッドが現れるので「*#*#7378423#*#*」とダイヤル。
勝手に真っ黒い画面が現れますので、Service info→Configurationを選択。
まず、Bootloader unlock allowed:がYesになっていることを確認。これがNoだとBLUはできません。国内キャリア端末だと軒並み不可、海外版端末でもキャリア版だとNoの場合もあります。Z3TCはキャリア専売はなかった気がしますので、恐らく全ての個体で可能だとは思います。
次にIDIDをメモします。IDIDはBLUコードの発行に使います。
PCの作業に戻ります。
Sony Developer WorldのUnlock Bootloaderのページへアクセス。
下の方へ送っていき、Select your devices:で、コンボボックスから
Xperia Z3 Tablet Compactを選択。機種はどれ選んでも実は発行されるコードは同じなので、ここは慎重にならなくてもOK。
Enter IMEI, IDID or MEIDというボックスにIDIDを入力。ここ、絶対に間違えないように。
I acknowledge~の文2つにチェック、Submitを押してアンロックコードを発行。
発行されたコードをメモしておきます。
5.BLU
いよいよ。ここでミスるとかなり復旧が困難になります。筆者はここで1台帰らぬ端末を製造しているので、本当に注意。
そしてここで注意点。
2020年1月現在、Windows10の最新ビルドでのBLUができませんでした。
恐らくWindows10内部の変更でFastbootのコマンドでデバイスの指定がうまく噛み合わないのが原因だと思われます。
Windows8.1以下か、Windows10のビルドの低いものを使うと成功すると思います。
【2020/10/30追記】
platform-tools側のバージョンが原因のようです。バージョンをr26以前のものを使用するとWindows10でもBLUが可能です。
この時、fastbootのフォルダのpathは通してあることとします。
通していなければ、Fastbootの実体のあるフォルダでShiftキーを押しながら右クリック、コマンドウィンドウをここで開くを選択。
PowerShellでも代用可。
XZDualRecovery等のカスタムリカバリが入っていると文鎮化するリスクが高まるようです。
Z3TCの電源を切り、5秒待ってからVol+キーを押しながらPCと接続。
PC側で認識され、Z3TCの通知LEDが青に光ったらコマンドプロンプトを管理者権限で実行。
fastboot devices
と入力。
英数字の羅列 fastboot
と表示されればOK。
そしていよいよアンロック。
ここを超えると引き返せません。
次の次くらいの操作で強制初期化なので、バックアップはここまでにしておいてください。
BLUコマンドを入力。
fastboot -i 0x0fce oem unlock 0xアンロックコード
この時、0xとアンロックコードの間にスペースは入れません。
「アンロックコード」には先ほど取得したコードを入れてください。
...
OKAY [ 所要時間]
finished. total time: 所要時間
と表示されればOK。
FAILED表示になった場合は、落ち着いてアンロックコードや手順を見直してください。この際に、下手にZ3TCを起動させてはいけません。
OKAY表示になったらZ3TCをPCから切断、起動させます。
強制初期化が始まるのでしばらく待ちます。
6.最新ビルドへ
強制初期化が終わり、言語選択画面が出たらZ3TCの電源を落とします。
そしてFlashToolを起動、23.5.A.1.291のROMを焼きます。
今回もFullWipeで焼けばOK。
また丁寧に書くと...
Wipe
Sin
☑APPS_LOG(チェック)
☑USERDATA(チェック)
Misc TA
□無視
Exclude
Sin
□AMSS~(チェック外す、以下外すと表記)
□B2B(外す)
□BOOT_DELIVERY(外す)
□CACHE(外す)
☑ELABEL(どっちでも)
☑PARTITION(どっちでも)
□SYSTEM(外す)
□UPDATE(外す)
Misc TA
☑全部チェック
焼けたら起動して、ようこそ画面が出たらまた電源を切ります。
7.カスタムROMを焼く
まず、先にファイルを用意しておいた方がスムーズに進みます。
・カスタムROM
lineage-15.1-20190922-UNOFFICIAL-z3tcw.zip
・TWRP
具体的なファイル名は判明次第書きます。
・OpenGApps
ARM Android 8.1 Pico
・Magisk(必要であれば)
Magiskは基本的にRoot管理に使うのですが、Root管理機能はLineageOS15.1の開発者向けオプション内に標準装備されています。Root取らない方は不要です。ただし、ROM側のRoot管理だと棒フリマの取引画面が開けなくなる等、支障が出る場合があることも判明したので、Rootを取る方はMagiskの導入をお勧めします。
MagiskHideも便利だし...
このうち、LineageOS15.1、GApps、MagiskはSDカードにコピーしておき、Z3TCにさしておきます。
PC側でROMのzipをエクスプローラーで開き、中のboot.imgをコピー、zipファイルの外へ貼り付け。
Z3TCをFastbootモードで接続。
fastboot devices
で接続確認。
次に、boot.imgを焼きます。
fastboot flash boot (boot.imgのディレクトリ)
便宜上()をつけていますが、コマンドに打つ際はつけません。
TWRPを焼きます。
fastboot flash recovery (TWRPのディレクトリ)
この際にrecoveryではなくFOTAKernelに焼いた方が良い、という人もいますが基本的にはrecoveryでいいと思います。
筆者も過去にBLUしたSGP612でFOTAKernelに焼くと書いていましたが、特に理由がなければrecoveryでOK。
筆者は過去に2台FOTAKernelに焼きましたが、その後はrecoveryに焼いて問題なく動いています。
無事焼けたらZ3TCの電源を入れ、Z3TCが振動したらVol+キーを押します。
systemの書き込みがなんちゃらと英語で書いてありますので、余計なところを弄らずにSwipe to Allow Modificationsのバーを左から右へスワイプ。
ホームが開きますので
Wipe→Advanced Wipeと進み、
cache
dalvik
data
system
を選択してWipe。
ホームに戻り、Installを選択。
Select Storageで外部SDカードを選択。ROM等のZipを入れたフォルダを開き、Lineageを選択し、Add more zipでOpenGAppsを選択、Magiskを導入する場合はもう一度Add more zipでMagiskを選択。
インストールがはじまりますのでしばらく待ちます。
この際にError7が表示される場合はTWRPかROM側がWi-Fiモデル向けでない可能性があります。ファイル名を再度確認してください。
Error7はTWRP側のデバイスの判定と、ROMのターゲットが一致しないときのエラーです。
インストールが終わったらcache、dalvikをWipeしてRebootを選択。
systemを起動させればOKです。
TWRPのアプリのインストールをするか、インストールする場合にシステムアプリ化するか聞かれますが、どれでもいいです。筆者は入れるときもあり入れないときもあり。基本的に使いません。
これで、Hi there画面が表示されれば完了です。
おめでとうございます。
TWRPの説明が雑なので、質問はコメントへ。
ところどころ説明が雑なところがあるので、わからない箇所はこの記事のコメント欄へお願いします。