Core's Blog

何か、いろいろ書く。

Xperia J1 Compactを発掘したので、Android12にしてみる。

タイトル通りです。

久しぶりにJ1Compact(以後J1C)をいじりたくなったので、部屋を探した結果本当に発掘。

f:id:kamabocoblog:20220330030948j:image

数年前に中古でおもちゃ枠で購入し、思ってたほど面白くなくて飽きて投げだした個体。

XDAを覗いたら、Z1 Compact向けにAndroid12なROMを開発している方を発見したので、試しに導入してみようと思ったわけです。

筆者は本家Z1 Compactも所持しているのですが、割と美品でBLUするのがもったいないので、国内では量産型であるJ1Cはおもちゃ枠にはちょうどいいです。ついでに無駄に高い最近のスマホを買わずにAndroid12が試せるのですから、そんな嬉しい話はありません。

 

この記事を参考にする場合、全て自己責任にてお願いします。

また、J1Cの初期化が発生するのでバックアップ推奨です。

 

J1Compact向けのSONY公式でのファームウェアの配信が終了しているっぽいので、純粋なJ1Cに戻す予定がある方は注意が必要です。ファームウェアを確保できないと、元のKitKatなJ1Cは帰ってきません。

 

 

 

 

 

実は、BLUができる。

国内版ですが、キャリア版ではなくSIMフリーモデルとして販売されていたので実はBLUが可能です。やり方は他の海外版Xperiaと特に変わりません。

唯一の違いはSONYのBLUコード発行ページの機種リストのコンボボックス内にXperia J1 Compactが存在しないことです。実はこのページで発行されるBLUコードはどの機種を選ぼうがIMEIが同じなら全て同じなので、Z1 Compactとか選んどけばOKです。ただし、コンボボックス内に存在しない時点でSONYが想定している機種ではないと思われるので、一応その点だけ注意してください。

 

 

TAのバックアップも、可能。

J1 CompactはXperiaの中で言えばかなり変わった枠ではあるのですが、ありがたいことにJ1Cには兄弟機種が複数存在します。

Xperia Z1 f (SO-02F)

Xperia Z1 Compact (D5503)

Xperia A2 (SO-04F)

Z1fをベースに海外向けに販売されたのがZ1Cであり、Z1fの廉価モデルとして国内で販売されたのがA2であり、A2をベースとして国内版SIMフリーとして発売されたのがJ1Cです。

何が言いたいかというと、D5503で発生するNFCの互換性の問題を除き、こいつらはほぼ問題なく相互にROMの焼き替えが可能です。

 

因みにNFCの問題とは、日本では主にFelicaが使用されているのに対して海外はNFCが利用されているため互換性がないということです。国内機に海外ROMを焼いた場合も、その逆の場合でも、NFCが使用できなくなります。機能的にはFelicaNFCの上位互換ともいえますが、海外ROMを焼くとNFC含めて使用できなくなる点は注意が必要です。

SO-02FにJ1CのROMを焼く等の場合は、基本的にNFCはそのまま使えます。おサイフケータイの動作は怪しいらしいですが。

 

ここまで書いておいてですが、修理サポートが切れた国内版Xperiaは公式からのファームウェア配信が切れます。

D5503は配信されているので、そちらを狙います。

 

 

ファイルを、用意する

今回はファイルのDLに時間がかかる可能性があるので、まあそうでなくてもなんですが、時間に余裕をもって実行すること推奨です。

 

platform-tools

ADBやFastbootを扱うのに必須です。記事作成時点でさらに新しいバージョンが配信されていますが、あえて26.0.2を使用します。

https://dl.google.com/android/repository/platform-tools_r26.0.2-windows.zip

直リンにつき即ダウンロードが開始されるので注意。

ファイル名は

platform-tools_r26.0.2-windows.zip

です。

今回は、Pathの通し方については割愛します。

 

platform-tools、Flashtoolのセットアップについてはこちらの記事の前半部分を参考にしてください。

Xperia Z3 Tablet Compactを、Android11にしてみる。 - Core's Blog

また、機種は違いますがTAのバックアップやBLUのやり方についても触れています。

 

Flashtool

XperiaシリーズのROM焼きをするツールです。筆者が使用している限り特に怪しい動きはしていませんが、毎回ウイルススキャンで引っかかるため気になる方はやめた方が良いです。記事作成時点での最新バージョンは0.9.34.0です。特に理由がなければ最新バージョンを使用してください。

Downloads - Flashtool

で、抵抗がない人はTorrentをお勧めします。

ファイル名は

flashtool-0.9.34.0-windows.exe

です。

今回は、Flashtoolの導入方法については割愛します。

 

XperiFirm

本来であればFlashtoolにセットでついてくるのでそちらが使えるはずなのですが、何故か使えないので単体でダウンロードします。記事作成時点での最新バージョンは5.6.5です。

[TOOL] XperiFirm ~ Xperia Firmware Downloader [v5.6.5] | XDA Forums

ファイル名は

XperiFirm 5.6.5 (by Igor Eisberg).zip

です。

 

D5503の古いファームウェア

重要なのはD5788ではなくD5503、つまりZ1 CompactのROMを用意する点です。

Rootkit脆弱性をつきたいので、古いビルドでも古すぎるとRootkitの範囲外になるためKitKatファームウェアを狙ってダウンロードします。これはXperiFirmからダウンロードします。TAのバックアップが要らない場合は不要ですが、基本的にはTAのバックアップはとっておくことを推奨します。筆者は

14.4.A.0.157

を使用しました。

 

D5503の最新ファームウェア

こちらもD5503、つまりZ1 CompactのROMを用意。

カスタムROMを焼く前に最新のビルドにあげるので必要になります。これはXperiFirmからダウンロードします。記事作成時点での最新のビルド番号は

14.6.A.1.236

です。

 

Rootkit

J1Cのルート権限を取得するのに必要です。TAのバックアップが要らない場合は不要です。キューブ実験室さんのRootkitを使用させていただきます。

キューブ実験室: 【Xperia】各機種ワンクリックroot取得【Z/Z1/Z2/Z3 等】

筆者はOneDriveの方をDLしました。

ファイル名は

rootkitXperia_20150926.zip

です。

 

Backup-TA

TAのバックアップに使用します。

Releases · DevShaft/Backup-TA · GitHub

Backup TA v9.11 (2014-06-15)のAssetsのSource code (zip)をダウンロードしてください。

ファイル名は

Backup-TA-9.11.zip

です。

 

カスタムROM

J1Cに書き込むAndroid12です。

今回は115ekさんのLineageOS 19.0を使用させていただきます。testingということで動作が不安定です。

[ROM][Unofficial][testing][12.0] Lineage OS 19.0 for Xperia Z1 compact | XDA Forums (xda-developers.com)

Downladの下のSourceForgeをがROMのダウンロードリンクです。

ファイル名は

lineage-19.0-20211230-UNOFFICIAL-amami.zip

です。

因みに、amamiはZ1 Compactのコードネームです。

 

この開発者さんは過去にもAndroid9やAndroid11などのROMも開発されているようなので、安定性を求める場合はそちらを推奨します。

 

TWRP

同じく115ekさんのTWRPを使用させていただきます。

[RECOVERY][Unofficial][amami] TWRP 3.4.0 | XDA Forums (xda-developers.com)

Download下のSourceForgeかAndroidFileHostにします。筆者の環境ではどちらでもDLは遅かったです。筆者はSourceForgeを使用しました。

ファイル名は

twrp-3.4.0-1-amami.img

です。imgファイルのためダウンロード時に警告が出る場合がありますが、無視して問題ないかと思います。

 

GApps

ROMの導入だけだとかなりできることが限られるので、Playストア等のGoogle製アプリの導入に必要です。Open GAppsだとAndroid12向けのものが存在しないため、ROMのXDA内で紹介されていたBiTGAppsを使用します。

Release BiTGApps Package · BiTGApps/BiTGApps-Release · GitHub

ファイル名は

BiTGApps-arm-12.0.0-R45_signed.zip

です。

 

MagiskのAPK

Android12でRootを取りたい場合のみ。

公式からAPKをダウンロードします。

Releases · topjohnwu/Magisk · GitHub

記事作成時点での最新バージョンは24.3です。

ファイル名は

Magisk-v24.3.apk

です。

 

MicroSDカード

TWRPなので最悪なくてもどうにかはなると思いますが、間違いなくあった方が良いです。カスタムROMの移動に使うだけなので、1GBとかでも問題はありません。J1C側の制約で、認識できるSDカードの容量は128GBまでになります。

 

 

D5503のROMを、用意する。

ダウンロードを、する。

XperiFirmからD5503の最新のファームウェアをダウンロードします。

筆者はCustomized AUのものをダウンロード。

 

加えて、KitKatなROMも用意します。筆者はClaro CRのものをダウンロード。

ちなみにClaroはコスタリカの通信事業者です。

 

 

FTFに、する。

FlashtoolでTools→Bundles→Createと進み、XperiFirmでダウンロードした14.6.A.1.236のフォルダを選択します。

DeviceをダブルクリックしてD550X→D5503を選択します。

BrandingはCustomized AU、Versionには14.6.A.1.236を入力します。

folder listの中身を全選択し、->ボタンを押してCreateを押します。

Bundle creation finishedと表示されたら完了です。

 

同じくFlashtoolでTools→Bundles→Createと進み、XperiFirmでダウンロードした14.4.A.0.157のフォルダを選択します。

DeviceをダブルクリックしてD550X→D5503を選択します。

BrandingはClaro CR、Versionには14.4.A.0.157を入力します。

folder listの中身を全選択し、->ボタンを押してCreateを押します。

Bundle creation finishedと表示されたら完了です。

 

偽装を、する。

このままだと本体とROMの型番の不一致でFlashtoolが弾いてしまうため、↑のROMに小細工を仕掛けます。

C:\Users\ユーザー名\.flashTool\firmwares

を開きます。D5503_14.4.A.0.157_Claro CR.ftfというファイルの拡張子をzipに変えます。これを展開します。

展開が終わったら、D5503_14.4.A.0.157_Claro CR.zipはftfに戻して構いません。

展開したフォルダ内にMETA-INFというフォルダがあるので、その中のMANIFEST.MFをメモ帳で開きます。

フォルダ名が違いますが、気にしないでください。

 

device: D5503という行が存在するので、D5503をD5788に書き換え、上書き保存します。

 


 bootフォルダやらsystem.sinやらをすべて選択し、右クリックメニューから圧縮します。エクスプローラーで圧縮しても構いません。筆者は7-zipというソフトを使用しています。

 

圧縮されたzipファイル名に、D5788とか偽装したことがわかるような単語を入れて、拡張子をzipからftfに変更します。

 

この偽装したファームウェア

C:\Users\ユーザー名\.flashTool\firmwares

に移動させれば完了です。

 

Flashtoolで、焼く。

の前に、Flash modeに入れるかを確認しておきます。Flashtoolのトップの画面を開きます。J1Cの電源を切り、音量-ボタンを押しながらPCと接続します。Flashtoolに Device connected in flash modeと表示されればOKです。そのままJ1Cを抜いて構いません。

 

左上の稲妻マークをクリックし、Flashmodeを選択してOkを選択します。

Sony Xperia J1 Compact→D5788→Customized AU→14.6.A.0.167を選択します。

 

Wipe

Sinはすべてチェック

Misc TAはすべて無視(チェックをつけない)

 

Exclude

Sinは AMSS から始まるもののみチェック

Misc TAはすべてチェック



これでFlashします。J1CをFlash modeで接続します。

 

Flasing finishedが表示されたら、J1CをPCから切断して一度電源を入れます。

この後の作業でFlashtoolが邪魔になるので一度閉じておきます。

 

 

Root権限を、とる。

初期設定は特に重要ではないので、さくっと進めていきます。

が、さすがにスペイン語はわからないので日本語にします。先述の通りClaroはコスタリカのキャリアですが、不安であればWi-Fiはオフにしておくと良いです。

設定アプリを開き、端末情報を開きます。ビルド番号の部分を8回タップします。

あなたは今開発者になりました!と表示されたら1つ戻り、開発者向けオプションを開きます。

USBデバッグにチェックを入れます。

このような画面が表示されるので、OKを選択します。

 

一度PCに戻り、rootkitXperia_20150926.zipをすべて展開します。J1CとPCを接続し、展開したフォルダの中のinstall.batを実行します。

 

J1C側にこのような画面が表示されたら、常に許可するにチェックを入れたうえでOKを押します。

ツールが自動的に動くので、しばらく待ちます。

J1Cが再起動し、ツールにall finishedと表示されたら完了です。

 

J1CにSuperSUが入っているか確認してみてください。

 

 

TAの、バックアップをとる。

後の工程で消し飛ぶTAをバックアップしておきます。

 

J1CとPCを接続します。

Backup-TA-9.11.zipを展開し、Backup-TA.batを実行します。

何かキーを押して進み、J1C側に下のような画面が表示されるので、許可します。

Backup TAが自動的に進むので、1を入力し、続けるか聞かれるのでYを入力します。

Everything is Okと表示されたら何かキーを押します。メニュー画面に戻るので、5を入力して退出します。

J1CとPCの接続を切断します。

これでTAのバックアップも完了です。

 

 

BLUを、する。

コードを、発行する。

BLUするには、SONYからアンロックコードを取得する必要があります。とは言っても特に制約や面倒なことはありません。

 

J1Cでの作業です。

設定アプリ→端末情報→機器の状態→IMEIに書かれている数字をメモします。

J1Cの電源を切っておきます。

 

PCに戻り、SONYのBLUコードの取得ページに行きます。

Unlock Bootloader - Open Devices - Sony Developer World

 

Select your deviceでXperia Z1 Compactを選択。

Enter IMEI, IDID, or MEIDのフィールドに先ほどメモしたIMEIを入力します。

下のチェックボックスにチェックを入れ、Submitをクリックします。

コードが発行されるのでメモしておきます。

 

BLUを、していく。

J1CのVol+キーを押しながらPCと接続します。J1CのLEDランプが青色に光ればOKです。

f:id:kamabocoblog:20220330032045j:image

PCに戻り、管理者権限でコマンドプロンプトを開き

fastboot devices

と入力し、実行。

英数字の羅列  fastboot

と返ってくればOKです。

fastboot -i 0x0fce oem unlock 0xアンロックコード

というように入力し、実行します。アンロックコードは先ほどSONYのページで発行したコードで、IDIDではありません。

また、0xとアンロックコードの間に空白はいれてはいけません。

 

OKAY

finished

が返ってくれば成功です。

画像のようになっていればOKです。コマンドプロンプトは閉じて構いません。

 

J1CとPCを切断し、J1Cを起動させます。強制初期化が入るためドロイド君の画面が表示されます。

f:id:kamabocoblog:20220330032102j:image

最終的に初期設定画面になりますが、特にいじる必要がないのでそのまま再度電源を切ります。

 

 

最新ビルドを、焼く。

PCでの作業に戻ります。

Flashtoolを起動し、今度は最新のファームウェアを焼きます。

ファームウェア以外については古いビルドを焼くときと変わりません。

14.6.A.1.236を選択

Wipe

Sinはすべてチェック

Misc TAはすべて無視(チェックを入れない)

 

Exclude

SinはAMSS~をチェック

Misc TAはすべてチェック

 

という感じで焼きます。

 

焼き終わったらPCと切断し、J1Cを起動します。初期設定画面が出たらまた電源を切っておきます。Flashtoolは閉じて構いません。

 

 

カスタムROMを、焼く。

boot.imgを、抜く。

一度lineage-19.0-20211230-UNOFFICIAL-amami.zipをエクスプローラーで開き、中のboot.imgをコピーしてzipファイルの外へ貼り付けます。ROMのzipファイルと同じフォルダがわかりやすいです。

こいつらが揃っていればOK

 

Fastbootで、入る。

J1CのVol+キーを押しながらPCと接続します。J1CのLEDが青く光ったらOKです。

PCに戻り、管理者権限でコマンドプロンプトを開きます。

fastboot devices

と入力し、接続されているか確認します。

fastboot flash boot (boot.imgのパス)

と入力し実行します。

fastboot flash recovery (recovery.imgのパス)

と入力し実行します。

E:\0J1Cというフォルダ直下にファイルを置いている場合の例です。

このように返ってきていれば問題ありません。J1Cを切断してコマンドプロンプトを閉じます。

 

Magiskを、弄る。

Magisk-v24.3.apkを複製し、片方の拡張子をzipにします。

 

SDカードに、移す。

lineage-19.0-20211230-UNOFFICIAL-amami.zip

BiTGApps-arm-12.0.0-R45_signed.zip

Magisk-v24.3.apk

Magisk-v24.3.zip

の4つをSDカードにコピーします。

 

コピーが完了したらJ1Cに挿入します。

 

J1Cで、リカバリに入る。

J1Cを起動させます。SONY画面で振動してLEDがピンクに光るので、Vol+キーを押すとリカバリに入ることができます。

f:id:kamabocoblog:20220330032134j:image

TWRPが起動したらSwipe to Allow Modificationsをスワイプします。

 

Settingsから画面の明るさや言語を変更できます。Enable Screen timeoutのチェックを外すとスリープに入らなくなります。

 

トップに戻り、Wipe→Advanced Wipeと開きます。

Dalvik / ART Cache

Cache

Data

System

の4つにチェックをつけ、Swipe to Wipeをスライドします。

f:id:kamabocoblog:20220330032306j:image

 

トップに戻り、Install→Select Storage→Micro SD cardを選択→OK

先ほどPCでROMやGAppsを入れたフォルダを開き、

lineage-19.0-20211230-UNOFFICIAL-amami.zip

Add more Zips

BiTGApps-arm-12.0.0-R45_signed.zip

Add more Zips

Magisk-v24.3.zip

の順で追加していき、Swipe to confirm Flashをスワイプします。

 

...doneと表示されたらWipe Cache/Dalvikを選択し、Swipe to Wipeをスワイプします。

...doneと表示されたらReboot Systemを選択します。

 

起動、してみる。

LINEAGE STARTが表示されたらあとは楽しむだけです。お疲れ様でした。

f:id:kamabocoblog:20220330032315j:image

 

Magiskを使う場合は、元からインストールされているファイラーを使用してSDカードを開き、Magisk-v24.3.apkをインストールしてください。