Thiết lập để phát triển AOSP (2.3 – 8.0)

Trang này thảo luận về cách thiết lập để phát triển bằng Android 8.0 hoặc các phiên bản thấp hơn. Để tìm hiểu cách tạo Android 9.0 trở lên, hãy xem phần Thiết lập để phát triển AOSP.

Thiết lập để phát triển AOSP (5.0 – 8.0)

Đối với Android 5.0 đến 8.0, hãy cân nhắc sử dụng Dockerfile đi kèm để dễ dàng cài đặt tất cả các gói bắt buộc.

Hệ điều hành

Android thường được tạo bằng GNU Linux. Bạn cũng có thể tạo Android trong một máy ảo trên các hệ thống không được hỗ trợ, chẳng hạn như Mac OS X.

Google khuyến khích bạn xây dựng trên GNU Linux. Hệ thống bản dựng Android thường chạy ART trên máy dựng để biên dịch trước các tệp DEX hệ thống. ART chỉ có thể chạy trên Linux, vì vậy hệ thống bản dựng sẽ bỏ qua bước biên dịch trước này trên các hệ điều hành không phải Linux, dẫn đến bản dựng Android có hiệu suất giảm.

GNU Linux

  • Android 6.0 – Android 8.0: Ubuntu 14.04 (Trusty)
  • Android 5.x: Ubuntu 12.0

Mac OS X (Intel/x86)

  • Android 6.0 – AOSP 8.0: Mac OS X phiên bản 10.10 (Yosemite) trở lên có Xcode 4.5.2 và Công cụ dòng lệnh
  • Android 5.x: Mac OS X phiên bản 10.8 (Mountain Lion) có Xcode 4.5.2 và Công cụ dòng lệnh

JDK

Thiết lập để phát triển AOSP (2.3 – 4.4)

Phần này cung cấp một số hướng dẫn về cách thiết lập Android 2.3 đến Android 4.4.

Hệ điều hành

Android thường được tạo bằng GNU Linux. Bạn cũng có thể tạo Android trong một máy ảo trên các hệ thống không được hỗ trợ, chẳng hạn như Windows.

Google khuyến khích bạn xây dựng trên GNU Linux. Hệ thống bản dựng Android thường chạy ART trên máy dựng để biên dịch trước các tệp DEX hệ thống. ART chỉ có thể chạy trên Linux, vì vậy hệ thống bản dựng sẽ bỏ qua bước biên dịch trước này trên các hệ điều hành không phải Linux, dẫn đến bản dựng Android có hiệu suất giảm.

GNU Linux

  • Android 2.3.x – Android 4.4: Ubuntu 12.04 (Precise)

Mac OS X (Intel/x86)

  • Android 4.1.x – Android 4.4.x: Mac OS X phiên bản 10.6 (Snow Leopard) hoặc Mac OS X phiên bản 10.7 (Lion) và Xcode 4.2 (Apple Developer Tools)
  • Android 2.3 – Android 4.0.x: Mac OS X v10.5 (Leopard) hoặc Mac OS X v10.6 (Snow Leopard) và Mac OS X v10.5 SDK

GNU make

Đối với Android 4.1.x đến 4.4, hãy sử dụng GNU make (gmake) 3.82. Đối với Android 2.3 đến 4.0.x, hãy quay lại từ gmake 3.82 để tránh lỗi bản dựng.

Xcode và các gói khác

Đối với Mac OS X phiên bản 10.8 trở xuống, hãy cài đặt Xcode từ trang web dành cho nhà phát triển của Apple. Nếu chưa đăng ký làm nhà phát triển của Apple, bạn phải tạo một Apple ID để tải xuống.

Nếu dùng Mac OS X phiên bản 10.4, hãy cài đặt cả Bison:

POSIXLY_CORRECT=1 sudo port install bison

Đối với MacPorts, hãy chạy lệnh:

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

Đối với Homebrew, vấn đề:

brew install gmake libsdl git gnupg2

Quay lại từ gmake 3.82

Trong Android 4.0.x trở xuống, gmake 3.82 có một lỗi ngăn Android tạo bản dựng. Bạn có thể cài đặt phiên bản 3.81 bằng MacPorts theo các bước sau:

  1. Chỉnh sửa /opt/local/etc/macports/sources.conf và thêm file:///Users/Shared/dports phía trên dòng rsync.

  2. Tạo thư mục dports:

    mkdir /Users/Shared/dports
    
  3. Trong thư mục dports mới, hãy chạy:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. Tạo một chỉ mục cổng cho kho lưu trữ cục bộ mới:

    portindex /Users/Shared/dports
    
  5. Cài đặt phiên bản gmake thấp hơn:

    sudo port install gmake @3.81
    

JDK

JDK cho Linux

Dự án nguồn mở Android (AOSP) đi kèm với các phiên bản OpenJDK được tạo sẵn trong prebuilts/jdk/ nên bạn không cần cài đặt thêm.

Các phiên bản Android cũ hơn yêu cầu cài đặt riêng JDK. Trên Ubuntu, hãy sử dụng OpenJDK

Đối với Ubuntu 15.04 trở lên

Chạy lệnh sau:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

Đối với Ubuntu LTS 14.04

Không có gói OpenJDK 8 nào được hỗ trợ cho Ubuntu 14.04. Các gói Ubuntu 15.04 OpenJDK 8 đã được sử dụng thành công với Ubuntu 14.04. Các phiên bản gói cao hơn (ví dụ: các phiên bản dành cho 15.10, 16.04) không hoạt động trên 14.04 khi dùng các hướng dẫn sau.

  1. Tải các gói .deb cho kiến trúc 64 bit xuống từ old-releases.ubuntu.com

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb với SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb với SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb với SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. Bạn có thể xác nhận giá trị tổng kiểm của các tệp đã tải xuống với chuỗi SHA256 được liệt kê cùng với mỗi gói ở bước 1. Ví dụ: với công cụ sha256sum:

    sha256sum {downloaded.deb file}
    
  3. Cài đặt các gói:

    sudo apt-get update
    
  4. Chạy dpkg cho từng tệp .deb mà bạn đã tải xuống. Có thể xảy ra lỗi do thiếu các phần phụ thuộc:

    sudo dpkg -i {downloaded.deb file}
    
  5. Cách khắc phục trường hợp thiếu phần phụ thuộc:

    sudo apt-get -f install
    

(Không bắt buộc) Cập nhật phiên bản Java mặc định

Nếu muốn, đối với các phiên bản Ubuntu đã đề cập trước đó, hãy cập nhật phiên bản Java mặc định bằng cách chạy:

sudo update-alternatives --config java
sudo update-alternatives --config javac

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

Chạy các lệnh sau để cài đặt các gói bắt buộc cho Ubuntu 14.04:

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev 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 cho Ubuntu 12.04

Chạy các lệnh sau để cài đặt các gói bắt buộc cho Ubuntu 12.04:

$ 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 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