【2017年最新版】SC-03D用カスタムROMを使う方法【LineageOS】

どうも、こっとんです。

SC-03DGalaxy S II LTE。2011年発売の機種です。僕の初スマホです。
4年くらいメインで使っていました。電池交換も2回しましたし結構お気に入りの機種です。
手を滑らせて地面に落としたことも両手で数え切れないくらいありますし(画面は無事でした。結構頑丈ですね。)、
誤って水没させて保証サービスで交換したこともあります。今では懐かしい思い出です。

確か購入当時、Galaxy Nexus(SC-04D)と迷った記憶があります。
今ではすっかり当たり前となったLTE通信(4G)も、当時は限られた最新機種にしか搭載されていなくて、かなり迷いました。
LTEは電池持ちが悪いとか、電波が普及してなくて繋がりにくいとか言われていたんですが、それでも僕はいち早く高速通信を試してみたくて、結局LTE対応が決め手となってSC-03Dを買いました。LTEの誘惑には勝てませんでした。

ちなみに候補だったGalaxy NexusはLTE非対応なんですが、当時最新のAndroid 4.0搭載でした。(SC-03Dは発売当時Android 2.3。)
カスタムROM的には今でも情報が豊富なGalaxy Nexusを購入するべきだったんでしょうね。いや後悔してないよ?

そんな訳で愛着があるSC-03Dなんですが、今回、最新のカスタムROMであるLineageOS 14.1を導入するまでに僕が行った手順をまとめたので、
参考になればと思い記事を書くことにしました。だいぶ長くなっちゃいました。古い機種ですが需要あるかな?

ROMダウンロード目的で来られた方、今すぐブラウザバック推奨です。この記事はビルド方法がメインで、残念ながらROMは置いてないです。今後置く予定もありません。
ですが、ビルド環境構築からインストール方法まで丁寧に解説するのでLinux?端末?ってなんぞ?って方でも安心設計なはずです。ぜひこの機会にビルドに挑戦してみてください。僕も最初は何それ状態だったんですが、ちゃんとビルドできています。
また、カスタムROMのインストールは自己責任で行ってください。大事なデータは必ずPCにバックアップしてください。
スポンサーリンク

目次

ビルドに必要なスペック

この記事では仮想マシン構築ソフト「VMware」を使います。「VirtualBox」でもOK。Linux専用のパソコンを用意できる方は適宜読み替えてください。また、Windowsの前提で話を進めますので、Macの方はごめんなさい。要はLinuxが動けばいいわけです。諦めずにググってみてください。

  • CPU
    64bit対応。最近のパソコンなら問題ないはずです。
  • メモリ
    最低8GB~推奨16GB以上。仮想環境で8GBだとかなりキツイ(スワップしまくり)ので16GBは欲しいところです。Linuxをネイティブ環境で使用するなら8GBでOKです。
  • HDD
    最低150GB~推奨200GB以上。仮想マシンってあとから容量増やすの面倒なんですよね。最初に多めに確保しておいた方がいいです。もちろんSSDでもOKです。
  • ネット回線
    光回線推奨。大量のデータをダウンロードするのでADSLだと正直厳しいです。
  • OS
    Linux 64bit。今回はWindows 64bitに仮想マシン環境を構築しLinux Mint 64bitをインストールして進めていきます。

仮想マシン環境の構築

それぞれ長くなってしまったので記事を分けました。詳細に解説しているので、順番に手順通りにやれば特に問題なくビルド環境を構築できると思います。

①VMware Playerのインストール

仮想マシンを構築できるソフトです。普通に使うだけなら無料で利用できます。AndroidのビルドではLinuxが必要なんですが、新しいパソコンを用意するのはちょっと…って感じの人でも手軽にLinux環境を用意できるのが強みです。

②Linux Mintのインストール

他のサイトを見るとAndroidのビルドは「Ubuntu」が推奨されていますが、このサイトではその派生ディストリビューションである「Linux Mint」を使用します。「Linux Mint」はメモリ使用量も少なく動作が非常に軽く使いやすいです。

③Linux Mintの初期設定

まずはVMware Toolsのインストール、その後にLinux Mintのソフトウェアアップデートの設定をしていきます。

SC-03D用LineageOS 14.1のビルド

ビルド環境の構築が完了したら、ここから本題です。

必要なパッケージをインストール

Menuから端末(ターミナル)を開きます。

以下をコピペして実行します。中クリックで貼り付けできます。

sudo apt update && sudo apt install autoconf automake bc bison build-essential curl flex g++ g++-multilib gawk gcc gcc-multilib git-core gnupg gperf imagemagick lib32ncurses5-dev lib32readline6-dev lib32z1-dev libc6-dev libesd0-dev libexpat1-dev liblz4-1 liblz4-tool liblzma5 liblzma-dev libncurses5-dev libsdl1.2-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop maven openjdk-8-jdk openjdk-8-jre patch pkg-config pngcrush python schedtool squashfs-tools texinfo xsltproc zip zlib1g-dev

パスワードを聞かれるのでパスワードを入力します。

[sudo] cotton のパスワード:

「y」を入力(小文字でOK)後、Enterを押して続行します。

以下のパッケージはアップグレードされます:
  libgl1-mesa-glx:i386 libgl1-mesa-glx libglapi-mesa:i386 libglapi-mesa libgles1-mesa libgles2-mesa
アップグレード: 6 個、新規インストール: 183 個、削除: 0 個、保留: 26 個。
74.1 MB のアーカイブを取得する必要があります。
この操作後に追加で 268 MB のディスク容量が消費されます。
続行しますか? [Y/n]

インストール完了です。

Gitの設定

Githubのユーザー名とメールアドレスを設定します。ですが何でもいいみたいので、それぞれ「android」と入力しておきます。
ソースコードのダウンロードをするだけならこのままでOKです。

git config --global user.name "android"
git config --global user.email "android"

Repoの導入

Repoとは、

repoはAndroidのプロジェクト管理用に作られたgitの管理ツールです。
複数のgitリポジトリを一括で管理することが出来ます。
普通に独自のプロジェクトに利用することが可能なため、規模が大きくなり、複数リポジトリを管理する必要があるようなプロジェクトに使うと良いでしょう。

出典:git管理ツールRepoを入れてみよう – Qiita

AndroidのソースコードはGitで管理されているので必須のツールですね。

というわけで早速導入しましょう。
まずはホームディレクトリ(ユーザー名になってます。僕の場合は「cotton」)に「~/bin」フォルダを作成します。「~」はホームディレクトリのことです。

端末からコマンドで作ります。

mkdir ~/bin

パスを通します。

export PATH=~/bin:$PATH

repoをダウンロードします。

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

パーミッションの設定をします。

chmod a+x ~/bin/repo

これで導入完了です。以後「~/bin」を削除しないようにしましょう。
この操作は一度だけでOKです。

ソースコードのダウンロード

ソースコードについて
僕のGitHubアカウントにあるソースはオリジナルであるSGH-T989用のソースをできるだけ改変せずにSC-03D用にローカライズすることを目指しています。(大きな改変があった場合、僕では対処できないと思われるので。)
そのためSC-03D用の本家(でいいのかな?)のソースとは違うアプローチをしています。(2017/03/28現在)
具体的には、
・パーティションチェックの有無
・variant.propによる機種判別
などが挙げられます。なので、もし問題があるような場合ソースコードを削除することがあります。

ソースコードは気がついたら本家と同期していく予定です。詳しくは僕のgithubアカウントを見てください。

repoを使ってリポジトリ一覧を取得

まずはホームディレクトリに作業用のフォルダを作ります。名前は何でもいいんですが、とりあえず「celoxdcm」します。ファイルブラウザ(GUI)から新しいフォルダを作成しても問題ないです。

mkdir ~/celoxdcm

celoxdcm」に移動します。

cd ~/celoxdcm
ファイルブラウザから操作する場合、フォルダに移動後[右クリック] – [端末の中に開く]が便利です。

repoを使ってリポジトリ一覧を取得します。

repo init -u git://github.com/LineageOS/android.git -b cm-14.1

色をつけて見やすくしてくれるみたいなので「y」を選択。初回のみ聞かれます。

Testing colorized output (for ‘repo diff’, ‘repo status’):
  black    red      green    yellow   blue     magenta   cyan     white
  bold     dim      ul       reverse
Enable color display in this user account (y/N)?

local_manifest.xmlの作成

SC-03DはLineageOS公式に対応してない端末なんですが、非公式なリポジトリならある(有志に感謝!)のでそちらを利用するためにlocal_manifest.xmlを作成します。

僕は断然GUI派なんで、ここからはファイルブラウザで操作します。
celoxdcm」内の「/.repo」フォルダに移動します。

[表示] – [隠しファイルを表示する]にチェックを入れると、先頭が「.」の隠しフォルダも見えます。

[右クリック] – [ドキュメントの生成] – [空のファイル]で新しいファイルを作成します。

名前を「local_manifest.xml」にしましょう。

[F2]キーで選択しているファイル、フォルダの名前の変更ができます。

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

時間がかかるのでしばらく待ちましょう。僕の場合は30分弱かかりました。

途中で止まってしまう場合
[Ctrl]+Cを押してキャンセル後、再度実行してください。
[↑]キーで実行したコマンドの履歴が確認できます。

初回起動時のデフォルト言語を「日本」に

ROM焼き経験者なら、あのスクロールしまくる感じの面倒さは分かっていたただけると思います。

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カードを挿入している場合はそもそも自動で日本になるっぽいですが一応設定しておきます。

ccacheの設定

ccacheとは、

ccacheとは、CまたはC++コンパイラが出力するデータをキャッシュするソフトウェア開発ツールである。その目的は、2回目以降のソフトウェアビルドにおいてはコンパイルを避け、出力結果を再利用することにある。これは再コンパイル速度を劇的に改善する。

出典:ccache – Wikipedia

要は初回のビルド情報を保存しておいて、2回目以降のビルド時間を短縮しましょうということです。僕の場合、試行錯誤を重ねる中で何度も再ビルドするハメになったので設定しておいて損はないと思います。2回目以降のビルドしか恩恵を受けられませんが、結構短縮されますよ。

~/.bashrc」をテキストエディタで開き、以下を最後の行に追加します。

export USE_CCACHE=1

次に端末で以下を実行します。

prebuilts/misc/linux-x86/ccache/ccache -M 50G

50GB分のキャッシュ用スペースを確保しています。

ちゃんと設定できているか確認しましょう。

prebuilts/misc/linux-x86/ccache/ccache -s

以下を実行して「~/.bashrc」を再読み込みして完了です。

source ~/.bashrc

この操作は一度だけでOKです。

Javaヒープサイズの設定

このままビルドすると、Out of Memoryエラーが発生して止まってしまったので、ヒープサイズの設定をします。

先程と同じ要領で「~/.bashrc」をテキストエディタで開き、以下を最後の行に追加します。

export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096M"

4GB確保すれば問題ないようです。

以下を実行して「~/.bashrc」を再読み込みして完了です。

source ~/.bashrc

この操作は一度だけでOKです。

いよいよビルド

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

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

source build/envsetup.sh

以下を実行してビルド開始です。

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

上の例では「celoxdcm」フォルダにログを出力しています。エラーがあった際に役立つと思います。

時間がかかるので待ちます。メモリに不安がある場合はシステムモニターで監視してみましょう。スワップしてるとログが止まってHDDがガリガリ言うのですぐわかりますが。

ログを眺めていると色々と注意されると思いますが、基本的にビルドが止まらなければOKです。


もしエラーで止まってしまう場合、もう一度落ち着いてこの記事をチェックしてみてください。また、以下の対処法も試してみてください。

prebuilts/sdk/tools/jack-admin kill-server

jackサーバのメモリをクリアします。ビルド中じゃないのにシステムモニターでメモリを大量に使用しているのを確認したら大体これで解決します。

ccache -cCz

ccacheをクリアします。古いビルドファイルが溜まっているとエラーで止まったりするそうです。ですがあまり使う機会はないかもしれません。他が原因であることが多いです。

・作業フォルダごと消してはじめからやり直す
最後の手段ですソースをいじりすぎてどうしようもなくなった時に。

ccacheの情報は以下のコマンドで確認できます。

prebuilts/misc/linux-x86/ccache/ccache -s

端末をもう一つ開いてリアルタイムに監視してもいいでしょう。

watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s

エラー後再ビルドする前に「out」フォルダをキレイにするのを忘れないようにしましょう。

make clean

ビルド完了しました!

#### make completed successfully (02:17:09 (hh:mm:ss)) ####

ビルドしたROMは
out/target/product/celox/lineage-14.1-2017xxxx-UNOFFICIAL-celox.zip
にあります。ドラッグ&ドロップでWindowsにコピーしておきます。
すぐにROMをインストールしたいところですが、このままではインストールできないのでリカバリーイメージをビルドしていきます。

補足:2回目以降のビルドについて

端末で「celoxdcm」フォルダを開きます。「out」フォルダをキレイにします。

make clean

リポジトリ一覧はもう取得出来ているので、ネット上のリポジトリと同期し、ソースを更新します。

repo sync -f --force-sync --no-clone-bundle

あとは同じです。

5.8 いよいよビルドへ戻ります。

SC-03D用TWRPのビルド

次にリカバリーイメージ(Team Win Recovery Project)をビルドします。

Team Win Recovery Project(TWRP)とは、

標準リカバリに手を加えたもので、メーカー以外の非純正ROM(カスタムROM)を書き込んだり、システム(ROM)全体のバックアップをしたりすることができます。

出典:AndMem

カスタムROMをインストールするために必要です。バックアップもできたりします。

基本的な流れはROMのビルドと大体同じです。
まずはホームディレクトリに作業用フォルダ「twrp」を作成します。

ソースコードのダウンロード

repoを使ってリポジトリ一覧を取得

端末を「twrp」で開き、repoを使ってリポジトリ一覧を取得します。

repo init -u git://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git -b twrp-6.0

local_manifest.xmlの作成

SC-03D用のリポジトリを記述します。
/.repo」フォルダに移動し、「local_manifest.xml」を作成します。
以下をコピペして保存してください。

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <!-- twrp -->
    <project name="cotton8487/android_device_samsung_celoxdcm" path="device/samsung/celoxdcm" remote="github" revision="twrp" />
</manifest>

【2018/06/28】修正が入ったようなので以前のlocal_manifestを使用してください

以前にもエラー報告があったようです。詳細はリンク先を参照して下さい。

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
 <remove-project name="android_frameworks_native-caf" />
 <!-- twrp -->
 <project name="cotton8487/android_device_samsung_celoxdcm" path="device/samsung/celoxdcm" remote="github" revision="twrp" />
</manifest>

ソースコードの同期

ソースコードをダウンロードします。以下を実行します。

repo sync -f --force-sync --no-clone-bundle

ビルド

twrp」フォルダにいることを確認してから端末で以下を実行します。

source build/envsetup.sh

以下を実行します。ビルド情報などが表示されます。

lunch full_celoxdcm-eng

以下を実行してビルド開始です。「-j」オプションは使っているCPUに合わせて設定します。
僕は4コア割り当てているので「-j4」にしました。

make -j4 recoveryimage 2>&1 | tee twrp_$(date '+%Y%m%d_%H-%M-%S').log

上の例では「twrp」フォルダにログを出力しています。エラーがあった際に役立つと思います。

「recovery.img」のビルドが完了しました!

#### make completed successfully (03:35 (mm:ss)) ####

recovery.imgをtarで固める

Odinを使ってリカバリーイメージをダウンロードモード(後述)で書き込める形式に整えます。

out/target/product/celoxdcm」に移動し、端末を開き、以下を実行します。

tar cf TWRP-3.1.1-0-VirtualPartition-celoxdcm-odin.tar recovery.img

バージョンやファイル名は各自調整してください。出来上がった「TWRP-x.x.x-x-VirtualPartition-celoxdcm-odin.tar」をドラッグ&ドロップでWindowsにコピーしておきます。

ビルドはこれで完了です!

初期ROMのインストール

工場出荷時に戻るので各自必要なデータをバックアップしておいてください。
また僕の場合、ダウンロードモード用のドライバは接続時自動でインストールされましたが、自動インストールされない場合、各自ドライバをインストールしてください。
また、adbコマンドなど使いたい場合は別途Android SDKとドライバをインストールしてください。

SamMobileから初期ROMをダウンロード

【2017/06/08】SamMobileからダウンロード出来ない場合は下記URLからダウンロードしてください。要登録。


まずはSamMobileから初期ROM(公式で配布されている純正ROM)をダウンロードします。登録が必要なのでメールアドレスを用意します。

SamMobileとは、

Samsung関連のニュースの配信、製品レビュー、各端末用のファームウェア提供などを行なっているサイトです。ニュースやレビューは利用登録なしでも閲覧可能なほか、ファームウェアのダウンロードも無料の利用登録をしていれば行なうことができます(利用登録は有料のプランもあります)。

出典:そうすけブログ.com

こちらのサイトを参考に登録しましょう。

登録したら、以下のリンクへ飛びます。

Download the most recent firmware updates for your Samsung Galaxy phone and tablet for free. Browse our Samsung Galaxy firmware archive.

一番上の「SC03DOMMP5」をクリックします。

「REGULAR DOWNLOAD」をクリックします。

「DOWNLOAD」をクリックします。

開始まで待ち、「DOWNLOAD」をクリックします。僕の場合完了まで約30分かかりました。

Odinのダウンロード

Odin」とは、

docomo純正ロムやCWMをFlashできるSAMUSUNG端末のカスタマイズには必要不可欠なツールです

出典:windowsとandroidのメモ

最新版を使っていいかもしれませんが、この機種は古いので今回は「Odin 3.07」を使用します。

以下のリンクに飛びます。

Odin 3.09 - Download Samsung Odin 3.09 and root,flash your Samsung android device. Official XDA Odin Download

「Odin 3.07」をクリックしダウンロードします。

ダウンロードしたzipを解凍し、「Odin3 3.07」を起動します。

SC-03Dをダウンロードモードで起動する

電源OFFの状態から「電源」+「ボリュームダウン」ボタンを長押しで起動します。

バイブレーション後に電源ボタンだけ離すのがコツです。

警告画面が出たら、「ボリュームアップ」で続けます。

ダウンロードモードが起動しました。

Odinで初期ROMをインストールする

早速インストールしていきましょう。

ID:COMの欄で端末が認識しているか確認します。例では「0:[COM5]」ですが、環境によって数字は変わると思われます。

PDA」から先程ダウンロードしたzipを解凍し、「SC03DOMMP5_SC03DDCMMP5
_SC03DOMMP5_HOME.tar.md5
」をセットします。

Start」で開始です。10分程で完了し、自動で再起動します。

リカバリーイメージをインストールする

「ようこそ」が表示され無事初期ROMがインストールできたら、一度電源を切ります。

【2017/07/29】

公式ROMから最新のカスタムROM(Virtual Partitioned ROM)に移行する場合、一度古いバージョンのTWRPを導入しFormat、Wipeをしなければならないようです。この作業は移行する際に一度だけ行い、その後のROMのアップデートなどは通常のWipeで問題ありません。

TWRPでData領域をFormatする

最新のカスタムROM(Virtual Partitioned ROM)を導入する場合、Data領域をEXT4にフォーマットする必要があります。

SC-03Dをダウンロードモードで起動する

先程と同じで、電源OFFの状態から「電源」+「ボリュームダウン」ボタンを長押しで起動します。

Odinでリカバリーイメージをインストールする

古いバージョンのTWRPを使用します。以下のリンクからダウンロードしてください。

「TWRP-2.8.4.0-celoxdcm.tar」のダウンロード

MD5は「DE0FDE856F784D9CB00FB88A4D9295AC」です。

PDA」にダウンロードした「TWRP-2.8.4.0-celoxdcm.tar」をセットし「Start」で開始します。

完了後自動で再起動するので、一度電源を切ります。

SC-03Dをリカバリーモードで起動する

電源OFFの状態から「電源」+「ボリュームアップ」+「ボリュームダウン」ボタンを長押しで起動します。

パーティションのフォーマット

このままではカスタムROMをインストールできないので、Data領域をEXT4にフォーマットします。

「Wipe」をタップします。

「Advanced Wipe」をタップします。

「Internal SDcard」を選択後、「Repair or Change File System」をタップします。

「Change File System」をタップします。

「EXT4」を選択し、スワイプしてフォーマットを開始します。

一度ホーム画面に戻り、「Wipe」→「Advanced Wipe」をタップします。
「Dalvik Cache」、「Data」、「System」、「Cache」、「sdcard」を選択後、スワイプしてWipeします。

これでフォーマットは完了です。

最新ビルドのTWRPをインストール

ビルドしたTWRPをダウンロードモードを起動しインストールします。もしくはビルドした「recovery.img」を直接TWRPで焼いてもOKです。後者の方がスマートです。

SC-03Dをダウンロードモードで起動する

電源OFFの状態から「電源」+「ボリュームダウン」ボタンを長押しで起動します。

Odinでリカバリーイメージをインストールする

PDA」に「TWRP-x.x.x-x-VirtualPartition-celoxdcm-odin.tar」をセットし「Start」で開始します。

完了後自動で再起動する(といってもsystemがないので起動しない)ので、一度電源を切ります。

リカバリーモードでカスタムROMをインストールする

TWRP初回起動時、以下の画面になるのでチェックを入れてスワイプします。

公式ROMから移行した際に行う作業

以下の作業は公式ROMから移行した場合、一度だけ行います。その後は必要ありません。

「Mount」をタップします。

「Data」を一度unmount(チェックを外す)し、またmountします。つまり2回タップして下さい。

これで完了です。

Factory Resetの実行

ホーム画面から「Wipe」をタップし、そのままスワイプします。新しくROMをインストール(ROMの変更も含む)する際は必ず行ってください。

ROMのアップデートの場合、Dirty Flash(Dalvik cache(ART)、cacheのみWipe)でOKな場合が多いです。TWRPではROMのインストール後にcacheをwipeするボタンが出てくるので便利ですね。不具合が出た場合は素直にFactory Resetを行ってください。

カスタムROMのインストール

GAppsのダウンロード

まずはGAppsをダウンロードします。簡単に言うとGoogle関係のアプリセットです。必須なので各自好きなサイズを選んでください。僕はいつも「pico」or「nano」を使っています。Google Play Storeで後から個別に必要なアプリをインストールできるのでできるだけ小さめのGAppsを使っています。

サイズが大きすぎるGAppsはインストール失敗するかもしれません。その場合小さいサイズで試してみてください。この機種は大丈夫なようです。

以下のリンクからダウンロードしてください。

OpenGApps.org offers information and pre-built packages of The Open GApps Project. The Open GApps Project is an open-source effort to script the automatic gener...

Platformは「ARM」、Androidは「7.1」を選んでください。

SuperSUのダウンロード

【2017/04/12追記】root化するだけなら開発者向けオプションでONにできるようになったので、以下の手順はSuperSUを使いたい方向けです。

Root権限が必要な場合、以下のリンクからダウンロードしてください。

インストール

パソコンと端末を繋いでROMとGApps(とSuperSU)を転送します。

「Install」をタップします。

ROMがあるフォルダに移動し、

  1. Lineage-14.1-2017xxxx-UNOFFICIAL-celox.zip
  2. open-gapps-arm-7.1-xxxx-2017xxxx.zip
  3. SuperSU-v2.xx-xx.zip(必要ならば)

を順番にインストールします。一つずつスワイプしていってもいいんですが、僕は「Add more Zips」をタップしまとめてインストールしています。

インストール完了したら、「Reboot System」をタップし再起動します。
終了時にTWRP用のアプリをインストールかどうか聞かれますが、各自で判断してください。

「ようこそ」画面が表示されるまで待ちましょう。10分程かかります。

ついにカスタムROM起動!

無事起動しました。

更新履歴

xdaのSGH-T989(Hercules)の該当スレッドを参照してください。

まとめ

いかがだったでしょうか。操作してみると意外と使えたりしてビックリします。ソースを色々といじってみるのも面白いかと思います。
ちなみに僕は「Resurrection Remix」をビルドして使っています。まさかこの機種でRRが動くなんて……って思った方、なんと動きます。常用してます。
随分と長めの記事になってしまいましたが、ここまで読んでいただきありがとうございました。この記事が参考になれば幸いです。

参考・参照

How to Build Lineageos rom for any android device Easily ! {Full guide} – LineageOS ROMs | LineageOS ROM Download

LineageOS/CM14.1 のビルド方法 – dev:mordiford

いまさらブログ: 初回起動時のデフォルト言語を日本語に

Android source code compile error: “Try increasing heap size with java option ‘-Xmx<size>'” – Stack Overflow

T-Mobile Samsung Galaxy S II SGH-T989

[DEV]How to compile TWRP touch recovery | Android Development and Hacking

bryan2894 (Dave Antoine) · GitHub

kbc-developers · GitHub

GitHub – minimal-manifest-twrp/platform_manifest_twrp_omni: Limited manifest for building TWRP

・PCが端末を認識しない不具合(ドライバ関連)の対処法
Microsoft – WPD – 2/22/2016 12:00:00 AM -5.2.5326.4762 – マイクロソフト コミュニティ

スポンサーリンク