SC-03DにAndroid 7.1なResurrection Remixを導入してみた

どうも、こっとんです。

「せっかくのカスタムROMなんだしもっとカスタマイズしたい……」
「LineageOSって良いんだけどシンプルすぎるんだよなあ……」

LineageOSをビルドしてしばらく使っていると結構不満点が出てきました。そこで思いついたのが「Xposed」

Xposedとは、システム周りのカスタマイズが簡単にできる素晴らしい仕組み(機能)です。モジュールと呼ばれるアプリを追加するだけで使うができ、有効無効もアンインストールすら簡単でなので僕もよく使っていました。

しかし、Android 7.x系はまだXposedを導入することができません(2017/4/13現在)。なので、僕は多機能系のカスタムROMで代用することにしました。

Xposedが動作するならすぐにでも導入したいという方もいると思いますが、やめておいたほうがいいです
というのも、実はこの機種にXposedを導入するとスクロール時にカクカクして使い物にならなくなったりします(僕個人の感想であり個人差あります)。
cm13にXposedを導入して確かめました。色々試しましたが、モジュールが入っていない初期の状態でもカクカクでした。
正直SC-03DにXposedは力不足感が否めませんので、今後導入できる状況になったとしてもやめといたほうが良いと思います。どうしても使いたいモジュールがあるなら別ですが、使い心地の悪化にかなりガッガリするでしょう。

「Resurrection Remix」は、使ってみるとわかると思いますが、Xposed導入時のようにカスタマイズできて、かつカクカクすることはない(LineageOSと体感は同じくらい)のでかなりオススメです。

有名なXposedモジュールである「GravityBox」以上にカスタマイズできます。
そういえば以前GravityBoxの有料版を購入したんですが、最近は使ってませんね……

ROMの使用感など僕の感想ですが、Xposedでできることは一通り揃っています。というかカスタマイズできる項目が多すぎて把握しきれてません

日本語にもほぼ対応していて、LineageOS(CyanogenMod)と変わらないくらいしっかり翻訳されているのもポイント高いです。

また、初期設定だとスクロールがやたらとヌルヌルしますが、慣れるとこっちの方いい感じになりました。もちろんスクロールもカスタマイズできますよ。

という訳で今回は多機能系カスタムROMである「Resurrection Remix」の最新版を導入する手順を書いてみました。

この記事は既にビルド環境が整っている人向けです。まだビルド環境が整っていない方は、以下の記事でLineageOSを起動するまでの手順を丁寧に解説しているので参照してください。
最新のカスタムROMであるLineageOS 14.1を導入するまでに僕が行った手順をまとめました。ビルド環境構築からインストール方法まで丁寧に解説するので、Linux?端末?ってなんぞ?って方でも安心設計なはずです。ぜひこの機会にビルドに挑戦してみてください。
すべて自己責任でお願いします。
スポンサーリンク

目次

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行目~

# Put en_US first in the list, so make it default.
PRODUCT_LOCALES := en_US

PRODUCT_LOCALES := ja_JP

に変更します。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_vendor_resurrection/commit/2795c7fef9bf63365e959f0b4a49ec58295f40de

https://github.com/cotton8487/android_build/commit/2b50bae369ccb618c1d38d6762a9a9737edb8fe5

ビルド

ccacheJavaヒープサイズの設定は既に行ってあるはずです。

端末で「rr」フォルダにいるか確認します。

以下を実行し、ビルド用のコマンドセットを読み込みます。

source build/envsetup.sh

すると、ビルドタイプを聞かれます。

▼ Which build-type do you want to choose?

僕は「2」「Unofficial」を選択しました。

▼ Which root method do you want to use?

Magiskを同梱するか聞かれます。デフォルトだと非rootが選択されていますが、local_manifestでソースコードを読み込んでいるのでこれを選んでもrootedです。

非root状態でビルドしたい場合は、「~/rr/device/samsung/celox/lineage.mk」の「WITH_SU~」を消すなりコメントアウトして下さい。

次に更新履歴を何日前まで入れるのか聞かれます。

▼ For how many days changelog do you want to generate?

デフォルトの「7」を選択しました。一週間分ですね。しばらく待ちましょう。

完了後、以下を実行してビルド開始です。

brunch lineage_celox-userdebug 2>&1 | tee build_$(date '+%Y%m%d_%H-%M-%S').log

ccacheも効いているので1時間ちょっとでビルドが終わりました。

#### make completed successfully (01:08:24 (hh:mm:ss)) ####

あとはいつも通り転送して焼くだけですね。

Magiskが内蔵されいていたのでSUは不要です。焼くのはROMとGAppsのみでOKでした。

root化については開発者向けオプションでONにできますが、各自お好みでSuperSUなど焼いてもOKです。

起動画面

まとめ

いかがだったでしょうか。一度ビルドが成功しているなら簡単な作業でした。他のカスタムROMもビルドできるんじゃ……と思いましたが、上手く出来ませんでした。一応cm(LineageOS)ベースならできるっぽいですが、色々とビルド情報など弄る必要があるみたいでよくわからないので諦めました。Resurrection Remixはリポジトリを見ると結構LineageOSに依存している部分があるので、何も弄らなくてもビルドが可能でした。今後変わる可能性はありますが、その時はその時で。

ここまで読んでいただきありがとうございました。

参考・参照

GitHub – ResurrectionRemix/platform_manifest: Resurrection Remix Android Manifest

カスタムROMへのMagiskの同梱が嫌いだという話 – dev:mordiford

異なるgitリポジトリ間でもcherry-pickはできる – Qiita

スポンサーリンク