Android
 Computer >> コンピューター >  >> トラブルシューティング >> Android

Windows 10環境でLineageOSをビルドする方法【WSL活用ガイド】

LineageOSは、CyanogenModのフォーク後継として開発されている、Android向けに最も人気のあるカスタムROMです。200機種以上のスマートフォンに移植されており、ストックAndroidにはない豊富な機能を提供しています。

しかし、LineageOSの公式ポートが存在するデバイスは数多くあるものの、対応していないデバイスはそれ以上に存在します。そこで本記事では、Windows 10環境でLineageOSをビルドする方法を、手順を追ってわかりやすく解説します。

なお、このガイドの手順を実行しても、すぐにあなたのデバイスで動作するROMが完成するわけではありません。あくまで、公式GitリポジトリからLineageOSをビルドするための環境をWindows 10上に構築することが目的です。

また、本ガイドはLinuxコマンドラインやAndroid ROMのビルド経験がある中級者〜上級者向けの内容です。初めてROMをビルドする方は、まずAOSPからカスタムROMをビルドする入門記事などを参照することをおすすめします。

必要な環境・要件

  • Windows 10(64bit版)※SSDへのインストールを推奨
  • メモリ16GB以上(コンパイルには大量のリソースが必要です)

ビルド環境の構築手順

1. WSL(Windows Subsystem for Linux)のセットアップ

基本的な流れとしては、Windows Subsystem for Linux(WSL)を使ってビルド環境を整えます。この方法は非常に簡単でありながら見落とされがちですが、必要なものはほぼすべてMicrosoft Storeから入手できます。

まず、Microsoft Storeを開き、「Ubuntu 18.04」を検索してアプリをインストールしてください。

次に、Ubuntu 18.04アプリを起動し、初期セットアップウィザードを完了させます。

2. 必要なパッケージのインストール

Ubuntuターミナルを開き、以下のコマンドで必要なパッケージを一括インストールします。

sudo apt install android-sdk-platform-tools bc build-essential ccache curl g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop m4 openjdk-8-jdk pngcrush repo rsync schedtool squashfs-tools xsltproc zip zlib1g-dev

3. ソースコードの取得

続いて、ソースコード用のディレクトリを作成し、そのディレクトリへ移動します。

mkdir -p ~/android/lineage && cd android/lineage

次に、LineageOSのソースリポジトリを初期化します。

repo init -u https://github.com/LineageOS/android.git -b lineage-15.1

そして、.repo/local_manifests/roomservice.xmlに以下のコードを追加します(ファイルが存在しない場合は新規作成してください)。デバイスブランドの部分は、お使いの端末のメーカー名に置き換えてください。

<project name="TheMuppets/proprietary_vendor_<デバイスブランド>" path="vendor/<デバイスブランド>" remote="github" />

準備ができたら、ソースコードをダウンロードします。

repo sync

ccacheでビルドを高速化する(推奨)

この手順は任意ですが、ビルド時間を大幅に短縮できるため「ccache」によるキャッシュの有効化を強くおすすめします。

まず、~/.bashrcファイルに以下の行を追加します。

export USE_CCACHE=1

次に、ccacheが使用できるディスク容量の上限を指定します。

ccache -M 50G

「50G」の部分は好みに応じて変更してください。これはキャッシュに割り当てる容量(ギガバイト単位)を意味します。単一デバイス向けのビルドであれば25G〜50G程度で十分ですが、同じカーネルソースを共有しない複数デバイスをビルドする場合は、75G〜100G程度に引き上げるのがおすすめです。いずれの場合も、ccacheを活用することでビルドにかかる時間を大幅に削減できます。

WSL向けのビルド設定

次に、以下のコミットをcherrypickします。

source build/envsetup.sh && repopick -t wsl-compile

続いて、デバイス固有のコードを準備します。「your device codename」の部分は、お使いの端末のコードネームに置き換えてください。

breakfast <デバイスのコードネーム>

64bit版のbisonとijarをビルドします。

make bison && make ijar

BISON_EXECで64bit版のbisonを、IJAR_EXECで調整済みのijarを実行するよう環境変数を設定します。

export BISON_EXEC=~/android/lineage/out/host/linux-x86/bin/bison

export IJAR_EXEC=~/android/lineage/out/host/linux-x86/bin/ijar

(ターミナルを開くたびに実行するのが面倒な場合は、これらのコマンドを~/.bashrcに追記しておきましょう)

ビルドの開始

以上の準備が完了したら、いよいよビルドを開始できます。

brunch <デバイスのコードネーム>

今後再度ビルドを行う場合は、local_manifestsの追加、ccacheの有効化、BISON_EXECと調整済みIJARの設定という手順を繰り返すだけでOKです。

また、ディレクトリをクリーンにする(make cleanなど)たびに、必ず「make bison && make ijar」を再実行する必要がある点に注意してください。

注意事項

  • Windows側からLinuxファイルを編集しないこと。Windowsからファイルを追加・編集すると、bash環境内でファイルが破損する可能性が高いです。編集作業は必ずLinuxサブシステム内で行ってください。
  • /mnt経由で他のドライブにソースコードをダウンロードしないこと。ソースコードは必ずLinuxサブシステム内のフォルダのみにダウンロードしてください。
  1. Windows 11 22H2をアンインストールして以前のバージョンに戻す方法【ロールバック手順】

    PCを最新のWindows 11バージョン22H2にアップグレードしたものの、やっぱり使いづらいと感じた場合、Windows 11 2022 Updateをアンインストールして、以前のオペレーティングシステムに戻すことができます。アンインストール方法は、Windows 11へのアップグレードからどれだけの期間が経過しているかによって異なります。10日以内であれば「前のバージョンに戻す(Go back)」オプションを使って、簡単にWindows 11バージョン21H2やWindows 10へロールバックできます。しかし、10日以上経過している場合やクリーンインストール(アップグレードではなく新規

  2. Windows 11 Insider Preview ビルド 25227 の新機能まとめとダウンロード方法

    Microsoftは、Insiderユーザー向けに新しいWindows 11プレビュービルド25227をリリースしました。DevチャネルおよびBetaチャネルのユーザーは現在ダウンロード可能です。今回のアップデートでは、OSの主要領域における新機能や変更点、各種改善に加え、多数の不具合修正が含まれています。本記事では、Windows 11ビルド25227で導入された変更点の全容をご紹介します。 Windows 11 ビルド 25227 の新機能とは? 最新のWindows 11プレビュービルドには、数多くの修正と改善が盛り込まれています。Microsoft Storeアプリが更新されて新機能が