今回は、Android 8.0以上を最初から搭載した機種に対応することの多い、メーカー依存部分とシステムパーティションを分けるプロジェクトであるProject Treble機能を応用して、機種依存しないカスタムROMの焼き方を紹介していきます。
今回は、一万円で買えるスマホUMIDIGI A1 PROを使ってProject Trebleの焼き方を行います。Project Terrible対応機種とはいっても癖のある機種(A/Bアップデート対応等)もあるので、XDAの該当記事に目を通しておくといいかもしれません。
Project TrebleでのカスタムROMの焼き方
必要なものは
- BootloaderUnlockが可能なデバイス
- メーカー純正のROM
- Project Treble対応のカスタムROM
です。メーカー純正ROMはなくても起動できる場合もあるようですが、UMIDIGI A1 Proでは無いと起動できなかったので、用意しておく必要があります。
UMIDIGI A1 Proの純正ROMはこちらにあります。UlefoneやElephone、Chuwiもメーカーのダウンロードページからダウンロード可能になっています。
文鎮化も十分にありえるので純正ROMの無いデバイスでこの作業を行うことはかなり危険なので控えたほうがいいと思います。
Project Treble対応機種なのかを確認
一番てっとり速いのは確認アプリで確認する方法です。
「Treble Check」というアプリがPlayストアにあるので、そのアプリから確認可能です。
Playストアが使えない場合はadbから確認する方法もあります。
※開発者ツールを有効化してUSBデバックにチェックした上で下記コマンドを叩いてください。
adb shell getprop ro.treble.enabled
trueと返ってくればProject Treble対応です。
OnePlus5Tなどの非対応機種はfalseとなって返ってきます。
A/Bアップデートを採用してないかどうかの確認
A/Bアップデートを採用した機種は手順が変わってくるので必ず確認してください。
これは先程の「Treble Check」アプリで確認できます。
ADBを利用する場合は
adb shell -c "getprop ro.build.ab_update"
です。A/Bアップデート採用機種は今の所はあまり多くないので、殆どの場合falseが返ってくると思います。
XDAには有名機種でA/Bアップデートを採用しているのかをまとめたページがあります。
ROMの準備
有名ところだと、LineageOS、Resurrection Remix、AOSP、KOSP、AICP、BootleggersROMなどが対応しています。
このページに一覧でまとめられているので、各自好きなROMをダウンロードしてください。今回はBootleggersROMを例として紹介していきます。
それぞれA/Bアップデート用のイメージと非対応機種(Aonly)イメージが別々に公開されているのでよく確認してダウンロードしてください。
TWRPでフルバックアップ(なければやらなくてもOK)
TWRPが配信されている場合、TWRPを焼いてバックアップをとりましょう。
UMIDIGI A1 ProのようなMediaTek製のCPUを搭載している場合SPFlashToolが使えるので既存データを消すことなくTWRPを焼くことができます。
詳細は検索すればすぐに見つかります。
UMIDIGI A1 Pro用のTWRPはコチラ。
他のMediaTek製TWRPや他の機種のTWRPは大体コチラで配信されていると思います。TWRP公式のリカバリーがあればそちらを使ったほうがいいと思います。
手元のUMIDIGI A1 Proでは上手く暗号化解除ができなかったのであまり使えてません。(システムはマウントできるのでMicroSD経由で作業できました)
BootLoaderUnlock
BootLoaderUnlockはやらないと動かないようなので、必ず行ってください。
※BootLoaderUnlockを行うとデータはすべて消えるので予めバックアップを行ってから実行してください。
BootLoaderUnlockはメーカー毎にことなりますので、各自で調べてください。
ちなみにUMIDIGI A1 ProはFastbootで起動した後
fastboot oem unlock
をして端末画面でyes/noの指示画面になるのでボリュームキーで操作して行います。
ROM焼き
ROM焼きの方法は2通りあります。
1つ目はTWRPを利用する方法、2つ目はFastbootからフラッシュする方法です。
今回はTWRPが上手く暗号化解除できなかったのでFastbootの方法のみ解説します。
まずは端末をFastbootモードに入れる。
adbなどを使ってリブートしてください。UMIDIGI A1 Proの場合は完全に電源が切れてから電源ボタンとリューム上キーでFastboot起動かリカバリー起動かを選択するメニューが出ます。
Fasrbootになればあとはコマンドを叩くだけです。
ただ、A/Bアップデート対応機種、非対応機種でコマンドが異なります。
A/Bアップデート非対応機種の場合
今回のUMIDIGI A1 Proはこっちです。
fastboot erase system
fastboot flash system BTLG_2.3_GSI_ARM64_AONLY.img
fastboot -w
fastboot reboot
アップデート時も同様の方法ですが、3行は行わなくても問題ありません。
A/Bアップデート対応機種の場合(未検証)
fastboot erase system
fastboot flash system_a BTLG_2.3_GSI_ARM64_AB.img
fastboot -w
fastboot --set-active=_a reboot
手元にA/Bアップデートの機種がないので何とも言えませんが、Aスロットに焼いて、起動時にAスロット指定で起動となるので、この方法で問題ないはずです。
初回起動
これで起動すればそれぞれのカスタムROMのセットアップウィザードが立ち上がると思います。
UMIDIGI A1 Proは解像度が1270x のHD解像度と多くのスマホが採用しているFHD解像度に比べDPI値が小さいので初回起動時は
— Till0196 (@Till0196) 2018年6月30日
このように選択アイテムが小さくなってしまいます。
設定アプリ内の「ディスプレイ」→「詳細設定」→「最小値」を399dpとかに設定すると程よい大きさになると思います。
不具合等
<2018/07/03追記>
カメラ起動しない問題は解決策方法が解明し、ファイルを移植すればきちんと起動して動作するようになりました。
ただ、UMIDIGI A1 ProのFMラジオ機能は上手く移植出来ず起動方法が分かりません。
もし詳しい方で対応方法が分かるかも知れないという方はコメント頂けると幸いです。
2018/07/16追記
UMIDIGI A1 Proでは発信は出来ても、着信、データ通信が行えませんでした。間違えた情報を載せてしまい申し訳ありません。
Wi-Fi、Bluetooth、データ通信、指紋認証では問題なかったのですが、唯一の不具合としてはカメラ起動しない問題です。
カメラアプリは色々試しましたがいずれも起動しなかったり、カメラとの接続失敗などで使えませんでした。
原因は、UMIDIGI側がカメラの制御をシステムイメージに入れていることによるもののようです。将来的にVendorイメージに入ってこの問題が解決するかは不明です。
なお、他のProject Treble対応メーカーはカメラもVendorイメージに入っていることが多いようで、カメラをシステムから切り離すかどうなるかはメーカーの対応具合によるようです。
FMラジオ、データ通信は使えませんが、1万円ちょっとで買えるということもあるので、低予算でProject Trebleを試されたい方はUMIDIGI A1 Proを入手してみてはいかがでしょうか。
UMIDIGI A1 Pro販売ページ(TOMTOP) ▷ UMIDIGI A1 Pro
コメント
こんばんは。記事参考にこちらのA1 proでいくつかのROMで試させていただきました。
データ通信問題なしとありますが、モバイルデータ通信できなくないですか
電話サービス「SIMには対応していません」と出ています。
project trebleではモバイルデータ通信には対応していない?
調べてもわかりませんでした
大変申し訳ありません。
SIMを挿入してDocomoの認識があって発信はできたので、てっきり利用できると思っていました。
しかし先程、詳細に検証してみたところモバイルデータ通信が出来ないことが分かりました。
間違った情報を書いてしまい申し訳ありませんでした。
検証ありがとうございます。
他端末では問題ない…ですか。本来問題なくできるはずのことであるから情報が見当たらないのですね。
電波掴んでるのに4G表示にならないのは謎です
stock system.imgの中に秘密があるのかな
いろいろやってみます
同じROMでもXiaomiのRedmi Note 5では発着信、データ通信、VoLTEでの利用が出来たので、UMIDIGI側がVendorに入れるべきものを入れてないという説が大きいです。
純正ROMを焼く方法は、どうすればよいですか?!
よろしければ、お教えください。
純正ROMはメーカー公式サイトにアップされている場合が多いです。というかそれ以外の場合バックアップ以外で戻す方法はありません。
お使いの端末はどこのメーカーでしょうか。
UMIDIGI A1 pro がfastboot modeに強制的に入り、Androidが起動しないので、純正ROMを入れたいと思っているところであります。
でしたらUMIDIGIの公式コミュニティサイトにROM(official firmware)が上がっているので、ダウンロードしてFlashtoolを利用すれば純正ROMになります。Flashtoolの使い方はありとあらゆるサイトで紹介されているので、詳しくは検索してみてください。
詳しくありがとうございます!
無事インストール、起動できました~
感謝します。
コメント失礼します…ROM焼きは問題なく済んだのですが、なぜかストレージがRAMを参照していてメモリ4GBとかいう初期スマホみたいな状態になってます
ストレージをROM参照に指定しなおすにはどうしたらいいでしょうか
数か月前の記事にコメントするのもアレなんですが、ほかに聞けそうなとこがなかったのでもし気づいたらアドバイス頂けると嬉しいです…
コメントありがとうございます。
手元の環境では同様の現象が発生していないので、なんとも言えないのですがROMによってストレージがおかしな値になったりする場合があるようです。もしかすると他のROMを焼けばうまくいくかも知れません。
直接的な解決方法ではなくて申し訳ありません。