どうも、こっとんです。
「LineageOSって良いんだけどシンプルすぎるんだよなあ……」
LineageOSをビルドしてしばらく使っていると結構不満点が出てきました。そこで思いついたのが「Xposed」。
Xposedとは、システム周りのカスタマイズが簡単にできる素晴らしい仕組み(機能)です。モジュールと呼ばれるアプリを追加するだけで使うができ、有効無効もアンインストールすら簡単でなので僕もよく使っていました。
しかし、Android 7.x系はまだXposedを導入することができません(2017/4/13現在)。なので、僕は多機能系のカスタムROMで代用することにしました。
というのも、実はこの機種にXposedを導入するとスクロール時にカクカクして使い物にならなくなったりします(僕個人の感想であり個人差あります)。
cm13にXposedを導入して確かめました。色々試しましたが、モジュールが入っていない初期の状態でもカクカクでした。
正直SC-03DにXposedは力不足感が否めませんので、今後導入できる状況になったとしてもやめといたほうが良いと思います。どうしても使いたいモジュールがあるなら別ですが、使い心地の悪化にかなりガッガリするでしょう。
「Resurrection Remix」は、使ってみるとわかると思いますが、Xposed導入時のようにカスタマイズできて、かつカクカクすることはない(LineageOSと体感は同じくらい)のでかなりオススメです。
有名なXposedモジュールである「GravityBox」以上にカスタマイズできます。
そういえば以前GravityBoxの有料版を購入したんですが、最近は使ってませんね……
ROMの使用感など僕の感想ですが、Xposedでできることは一通り揃っています。というかカスタマイズできる項目が多すぎて把握しきれてません。
日本語にもほぼ対応していて、LineageOS(CyanogenMod)と変わらないくらいしっかり翻訳されているのもポイント高いです。
また、初期設定だとスクロールがやたらとヌルヌルしますが、慣れるとこっちの方いい感じになりました。もちろんスクロールもカスタマイズできますよ。
という訳で今回は多機能系カスタムROMである「Resurrection Remix」の最新版を導入する手順を書いてみました。
目次
SC-03D用Resurrection Remixのビルド
早速ビルドしていきましょう。と言ってもやることはLineageOSのビルドとほとんど変わらないので一度ビルド出来た方なら簡単だと思います。
・local_manifestはLineageOSと同じ
・やることも同じ
・違うのはrepo
・Magiskは機能しないので削除
ソースコードのダウンロード
まずはホームディレクトリに作業フォルダを作ります。名前は何でもOKなのでとりあえず「rr」にしました。
repoを使ってリポジトリ一覧を取得
「rr」フォルダに移動し、repoを使ってリポジトリ一覧を取得します。
repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b nougat
local_manifest.xmlの作成
LineageOSと中身は同じです。
「rr」内の「/.repo」フォルダに移動します。
[右クリック] – [ドキュメントの生成] – [空のファイル]で新しいファイルを作成します。
名前を「local_manifest.xml」にしましょう。
local_manifest.xmlを編集します。そのままダブルクリックで開いてしまうとOfficeが起動してしまったので、[右クリック] – [テキストエディタで開く]から開きます。
以下をコピペして保存してください。
<?xml version="1.0" encoding="UTF-8"?> <manifest> <!-- LineageOS --> <project name="LineageOS/android_hardware_samsung" path="hardware/samsung" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_external_stlport" path="external/stlport" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" revision="cm-14.1" /> <!-- celox --> <project name="bryan2894/android_hardware_qcom_audio" path="hardware/qcom/audio-caf/msm8660" remote="github" revision="cm-14.1-caf-8660" /> <project name="bryan2894/android_hardware_qcom_media" path="hardware/qcom/media-caf/msm8660" remote="github" revision="cm-14.1-caf-8660" /> <project name="bryan2894/android_hardware_qcom_display" path="hardware/qcom/display-caf/msm8660" remote="github" revision="cm-14.1-caf-8660" /> <!-- celoxdcm --> <project name="cotton8487/android_device_samsung_msm8660-common" path="device/samsung/msm8660-common" remote="github" revision="cm-14.1-celoxdcm" /> <project name="cotton8487/android_kernel_samsung_msm8660-common" path="kernel/samsung/msm8660-common" remote="github" revision="cm-14.1-celoxdcm" /> <project name="cotton8487/android_device_samsung_celox" path="device/samsung/celox" remote="github" revision="cm-14.1-celoxdcm" /> <project name="cotton8487/proprietary_vendor_samsung_celox" path="vendor/samsung/celox" remote="github" revision="cm-14.1-celoxdcm" /> </manifest>
ソースコードの同期
ソースコードをダウンロードします。以下を実行します。
repo sync -f --force-sync --no-clone-bundle
初回起動時のデフォルト言語を「日本」に
「build/target/product/full_base.mk」 をテキストエディタで開いて、
大体26行目~
PRODUCT_LOCALES := en_US
を
に変更します。simカードを挿入している場合はそもそも自動で日本になるっぽいですが一応設定しておきます。
Magiskの削除
【2017/06/08】Magiskはenvsetup.shを読み込んだ際に同梱するかどうか選択できるようになりました。
以下は古い情報です。
Resurrection Remixには標準でMagiskが同梱されていますが、SC-03Dでは機能しなかったのでMagiskを削除します。一応Magisk hideを無効にするとroot権限の取得はできるようですが、それではMagiskの意味がないので削除することにします。
以下の手順を行ってください。2箇所修正します。
「vendor/cm」に移動します。
以下を端末で順番に実行します。
git remote add FIXED_REPO https://github.com/cotton8487/android_vendor_resurrection
git fetch FIXED_REPO
git cherry-pick 2795c7fef9bf63365e959f0b4a49ec58295f40de
「build」に移動します。
同様に実行します。
git remote add FIXED_REPO https://github.com/cotton8487/android_build
git fetch FIXED_REPO
git cherry-pick 2b50bae369ccb618c1d38d6762a9a9737edb8fe5
これでMagiskが削除されます。もしも失敗する場合は以下を参考にしてください。
https://github.com/cotton8487/android_build/commit/2b50bae369ccb618c1d38d6762a9a9737edb8fe5
ビルド
端末で「rr」フォルダにいるか確認します。
以下を実行し、ビルド用のコマンドセットを読み込みます。
source build/envsetup.sh
すると、ビルドタイプを聞かれます。
僕は「2」の「Unofficial」を選択しました。
Magiskを同梱するか聞かれます。デフォルトだと非rootが選択されていますが、local_manifestでソースコードを読み込んでいるのでこれを選んでもrootedです。
次に更新履歴を何日前まで入れるのか聞かれます。
デフォルトの「7」を選択しました。一週間分ですね。しばらく待ちましょう。
完了後、以下を実行してビルド開始です。
brunch lineage_celox-userdebug 2>&1 | tee build_$(date '+%Y%m%d_%H-%M-%S').log
ccacheも効いているので1時間ちょっとでビルドが終わりました。
あとはいつも通り転送して焼くだけですね。
Magiskが内蔵されいていたのでSUは不要です。焼くのはROMとGAppsのみでOKでした。
root化については開発者向けオプションでONにできますが、各自お好みでSuperSUなど焼いてもOKです。
起動画面
まとめ
いかがだったでしょうか。一度ビルドが成功しているなら簡単な作業でした。他のカスタムROMもビルドできるんじゃ……と思いましたが、上手く出来ませんでした。一応cm(LineageOS)ベースならできるっぽいですが、色々とビルド情報など弄る必要があるみたいでよくわからないので諦めました。Resurrection Remixはリポジトリを見ると結構LineageOSに依存している部分があるので、何も弄らなくてもビルドが可能でした。今後変わる可能性はありますが、その時はその時で。
ここまで読んでいただきありがとうございました。
参考・参照
GitHub – ResurrectionRemix/platform_manifest: Resurrection Remix Android Manifest