UbuntuでAndroid 4.1「Jelly Bean」をコンパイルする手順

注意(!)この手順では、完全に機能するファームウェアをすぐに作成することはできませんが、作業を開始する機会が与えられます。
注:ソースは約6 GBを占有します。 1つのビルドをコンパイルするには約25 GBの空き容量が必要で、完全なビルドキットを作成するには最大80 GB(またはそれ以上)の空き容量が必要です。

UbuntuでJelly Beanのコンパイルを開始する前に、いくつかの手順を実行してコンピューターを構成し、既製のツールを取得する必要があります。


指示:
1)次のものが必要です。
-Jelly Beanをコンパイルする場合はJDK 6。 java.sun.comからダウンロードするか、 次のいずれかを実行できます。

$ sudo add-apt-repository "deb archive.canonical.com lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk


-Python 2.4-2.7。python.orgまたは次からダウンロードできます。

$ sudo apt-get install python

-Git 1.7以降。 Git-scm.comで見つけることができます:

$ sudo apt-get install git-core

2)必要なパッケージをインストールします。 64ビット(推奨)

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils


11.10などのUbuntuの新しいバージョンでは、次の操作が必要になる場合があります。

$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

Ubuntu 12.04は現在、実験的なサポートのみを提供しており、マスター以外のブランチでの動作が保証されていません。

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


3)USBを構成する

$ gksudo gedit /etc/udev/rules.d/51-android.rules

これを空のテキストファイル内に貼り付けます

#Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"

#ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"

#Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"

#Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"

#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666"

#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"

#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"

#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"

#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"

#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"

#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"

#Lenevo
SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"

#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"

#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"

#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"

#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"

#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"

#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"

#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666"

#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"

#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"

#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"

#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"

#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"

#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"

#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"

#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"

#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"


4)ファイルを保存して閉じ、次のコマンドを実行します。

$ sudo chmod a+r /etc/udev/rules.d/51-android.rules

5)リポジトリのインストール:

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo


6)リポジトリの実行:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ repo init -u android.googlesource.com/platform/manifest -b android-4.1.1_r1


6.1)すでに準備が整っているレポを持っている人向け:

$ cd WORKING_DIRECTORY
$ repo init -b android-4.1.1_r1
$ repo sync


7)必要に応じて、名前とメールアドレスを入力します。
8)ファイルを収集します。

$ repo sync

9)コンパイル:

$ source build/envsetup.sh

または

$ . build/envsetup.sh

10)起動:

$ lunch

11)デバイスを選択してください
12)問題は(「#」これはプロセッサコアの数に1を足したものです。たとえば、2コアプロセッサがある場合、「make -j3」と書きます)

$ make -j#

〜デバイスをリストに追加する方法〜
1)githubで追加するデバイスを見つけます。 (私にとっては、これはHTC Evo 3D-CDMAです)
2)次に、デバイスツリーのクローンを作成するフォルダーに移動します。

$ cd WORKING_DIRECTORY/device
$ mkdir htc


3)GitHubからリモートからローカルへのデバイスツリーの複製:
(フォルダの名前がデバイスの標準名と同じであることを確認してください。たとえば、Nexus One [情熱]、Nexus S [クレスポ] Motorola Droid [穴]、HTC Incredible [inc]など)

$ git clone git://github.com/CyanogenMod/android_device_htc_shooter.git shooter

4)フォルダーに移動します。

$ cd shooter

5)電話をコンピューターに接続し、USBのデバッグがオンになっていて、adbが正しく機能していることを確認します。
6)デバイス独自のファイルを抽出します。

$ ./extract-files.sh

7)ホームディレクトリに戻る

$ cd ~/WORKING_DIRECTORY

8)コンパイルの準備:

$ source build/envsetup.sh

または

$ . build/envsetup.sh

9)デバイスのリストを取得します。

$ lunch

10)デバイスを選択してください
11)コンパイル:

$ make -j#

または、ファームウェアのzipアーカイブを作成するには:

$ make -j# otapackage

その結果、特定のデバイス用にコンパイルされたJBを取得し、デバイス上で実行して、機能するものと機能しないものを確認し、Androidの新しいバージョンの最適化を行い、AOSPに基づいてファームウェアを作成することができます。

Source: https://habr.com/ru/post/J147516/


All Articles