Android11(LineageOS18.1)をビルドする方法 (2021/08/14)

x86も対応してます。動かせるかどうかは検証してません。なんでかって?PCが処理落ちしたからです。()あれ?なんか見たことあるような

作業フォルダ作成

作業フォルダの作成です。

mkdir -p ${HOME}/google/android/lineageos/18.1/bin
cd ${HOME}/google/android/lineageos/18.1
echo 'export PATH="${PATH}:${HOME}/google/android/lineageos/18.1/bin"' >> ${HOME}/.bashrc
source ${HOME}/.bashrc

依存ソフトのインストール

ビルドに必要なソフトのインストールです。

sudo apt install build-essential ccache libncurses5 libssl-dev m4 unzip zip -y
if ls ${HOME}/google/depot_tools >/dev/null 2>&1
  then
  true
  else
  cd ${HOME}/google/
  git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  echo 'export PATH="${HOME}/google/depot_tools:${PATH}"' >> ${HOME}/.bashrc
  source ${HOME}/.bashrc
  cd ${HOME}/google/android/lineageos/18.1
fi

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

ソースコードのダウンロードです。
ちなみに編集可能になってます。
なお、

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)?
と質問されたら、yと答えてください。
また、名前とメールアドレスを聞かれますが、ビルドしている人の名前(ニックネームでも可)とメールアドレスを入力してください。
repo init -u git://github.com/LineageOS/android.git -b lineage-18.1 --depth=1 --config-name
repo sync -j4

Google APIの設定

Google APIを設定してChromium OSからログインできるようにします。
まず、ここに参加します。
参加したら、ここへ行って、左上の「My First Project」をクリックします。
そしたら、右上の「新しいプロジェクト」をクリックして、適当に名前をつけて作成してください。
それができたら、左上の「My First Project」をもう一度クリックして、自分でつけた名前が表示されているところの読み込みが終わるまで待ちます。
読み込みが終わったら、そこをクリックしてください。
そしたら、上の検索ボックスに、次の文字例をいれ、有効化してください。

  • Cloud Search API
  • Geolocation API
  • Google Drive API
  • Safe Browsing API
  • Time Zone API
  • Admin SDK API
  • Geocoding API
  • Google Assistant API
  • Google Calendar API
  • Nearby Messages API

終わったら、左のメニューの「APIとサービス」、「認証情報」の順にクリックしてください。
そして、「+ 認証情報を作成」、「OAuth クライアントID」、「同意画面の設定」の順にクリックし、
「外部」を選択し、「作成」をクリックしてください。
そして、アプリ名に適当な名前を入力し、ユーザーサポートメールとデベロッパーの連絡先情報に自分のメールアドレスを選択し、「保存して次へ」をクリックします。
そして、「スコープを追加または削除」ボタンを押し、すべてにチェックをつけ、「更新」を押します。
そして、「保存して次へ」を押します。
そして、「+ ADD USERS」ボタンを押し、Chromium OSにログインするユーザーのメールアドレスを入力して、「追加」ボタンを押してください。
そして、「保存して次へ」を押し、「ダッシュボードに戻る」ボタンを押してください。
そしたらまた、「+ 認証情報を作成」、「OAuth クライアント ID」の順にクリックし、
アプリケーションの種類に「デスクトップ アプリ」、名前に適当な名前をつけて作成してください。
そしたら、クライアントIDとクライアントシークレットが出るので、どこかに保存してください。
そしたらまた「+ 認証情報を作成」、「API キー」の順にクリックしてください。
そしたら、APIキーが出てくるので、保存してください。
そしたら、これを実行してください。

api=[メモしておいたAPIキー]
clientId=メモしておいたクライアントID
clientSecret=メモしておいたクライアントシークレット
echo "'google_api_key': '"${api}"'," > ${HOME}/.googleapikeys
echo "'google_default_client_id: '"${clientId}"'," >> ${HOME}/.googleapikeys
echo "'google_default_client_secret': '"${clientSecret}"'," >> ${HOME}/.googleapikeys
↑ 編集できるようになってます。コピーする前に最初のところのAPIキーとクライアントID,シークレットだけ書き換えたほうがいいと思います。

ビルド

いよいよビルドです。

source build/envsetup.sh
breakfast [デバイス名]
croot
brunch [デバイス名]
これでoutフォルダに完成品がある...はず。()