Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Thiết lập môi trường xây dựng

Phần này mô tả cách thiết lập môi trường làm việc cục bộ của bạn để tạo tệp nguồn Android. Bạn phải sử dụng Linux; xây dựng trong MacOS hoặc Windows không được hỗ trợ. Hãy ghi nhớ những thay đổi quan trọng đối với /usr/bin/python nhị phân là tốt.

Đối với một cái nhìn tổng quan của toàn bộ mã rà soát và mã cập nhật quá trình, xem cuộc sống của một Patch .

Chọn một chi nhánh

Một số yêu cầu đối với môi trường xây dựng được xác định bởi phiên bản mã nguồn mà bạn định biên dịch. Đối với một danh sách đầy đủ của chi nhánh có sẵn, xem số xây dựng . Bạn cũng có thể chọn để tải về và xây dựng mã mới nhất nguồn (được gọi là master ), trong trường hợp này bạn chỉ cần bỏ qua các đặc điểm kỹ thuật chi nhánh khi bạn khởi tạo kho.

Sau khi chọn một nhánh, hãy làm theo hướng dẫn thích hợp bên dưới để thiết lập môi trường xây dựng của bạn.

Thiết lập môi trường xây dựng Linux

Những hướng dẫn áp dụng đối với tất cả các chi nhánh, bao gồm master .

Bản dựng Android được kiểm tra thường xuyên trong nhà trên Ubuntu LTS (14.04) và thử nghiệm Debian. Hầu hết các bản phân phối khác nên có sẵn các công cụ xây dựng bắt buộc.

Đối với Gingerbread (2.3.x) và các phiên bản cao hơn, trong đó có master chi nhánh, một môi trường 64-bit là bắt buộc. Các phiên bản cũ hơn có thể được biên dịch trên hệ thống 32-bit.

Cài đặt các gói bắt buộc (Ubuntu 18.04)

Bạn cần phiên bản Ubuntu 64-bit.

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Cài đặt các gói bắt buộc (Ubuntu 14.04)

Bạn cần phiên bản Ubuntu 64-bit (khuyến nghị sử dụng 14.04).

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

Cài đặt các gói bắt buộc (Ubuntu 12.04)

Bạn có thể sử dụng Ubuntu 12.04 để tạo các phiên bản Android cũ hơn. Phiên bản 12.04 không được hỗ trợ trên master hoặc phát hành gần đây.

sudo apt-get install git 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 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

Cài đặt các gói bắt buộc (Ubuntu 10.04-11.10)

Xây dựng trên Ubuntu 10.04-11.10 không còn được hỗ trợ, nhưng có thể hữu ích cho việc xây dựng các phiên bản AOSP cũ hơn.

sudo apt-get install git 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 xsltproc

Trên Ubuntu 10.10:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

Trên Ubuntu 11.10:

sudo apt-get install libx11-dev:i386

Định cấu hình quyền truy cập USB

Cài đặt một bộ mặc định cộng đồng duy trì của udev quy tắc cho tất cả các thiết bị Android bằng cách làm theo các hướng dẫn để thiết lập một thiết bị để phát triển .

Sử dụng một thư mục đầu ra riêng biệt

Theo mặc định, đầu ra của từng xây dựng được lưu trữ trong out/ thư mục con của cây nguồn phù hợp.

Trên một số máy có nhiều thiết bị lưu trữ, các bản dựng sẽ nhanh hơn khi lưu trữ các tệp nguồn và đầu ra trên các ổ đĩa riêng biệt. Để có thêm hiệu suất, kết quả đầu ra có thể được lưu trữ trên hệ thống tệp được tối ưu hóa về tốc độ thay vì độ mạnh khi gặp sự cố, vì tất cả các tệp có thể được tạo lại nếu hệ thống tệp bị hỏng.

Để thiết lập, xuất OUT_DIR_COMMON_BASE biến để trỏ đến vị trí nơi thư mục đầu ra của bạn sẽ được lưu trữ.

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

Thư mục đầu ra cho mỗi cây nguồn riêng biệt được đặt tên theo thư mục chứa cây nguồn. Ví dụ, nếu bạn có cây nguồn /source/master1/source/master2 và nếu OUT_DIR_COMMON_BASE được thiết lập để /output , các thư mục đầu ra là /output/master1/output/master2 .

Tránh để nhiều cây nguồn được lưu trữ trong các thư mục có cùng tên, vì các cây nguồn sẽ chia sẻ một thư mục đầu ra, với kết quả không thể đoán trước được. Điều này chỉ được hỗ trợ trên Jelly Bean (4.1) và cao hơn, trong đó có master chi nhánh.

Tiếp theo: Tải xuống nguồn

Môi trường xây dựng của bạn rất tốt để sử dụng! Tiến hành tải về nguồn .