Làm theo các hướng dẫn sau để bắt đầu xây dựng Android.
Thiết lập môi trường
Khởi tạo môi trường với envsetup.sh
kịch bản:
source build/envsetup.sh
hoặc
. build/envsetup.sh
Xem kịch bản tại nền tảng / build / envsetup.sh cho giới thiệu các lệnh liên quan, bao gồm cả ăn trưa để lựa chọn mục tiêu thiết bị và tapas để xây dựng các ứng dụng unbundled, chẳng hạn như các ứng dụng truyền hình tài liệu tham khảo .
Bạn cần phải cấp lại lệnh này sau mỗi lần repo sync
để đón bất kỳ thay đổi kịch bản đó. Lưu ý rằng việc thay thế source
với .
(một dấu chấm) lưu một vài ký tự và dạng ngắn được sử dụng phổ biến hơn trong tài liệu.
Các envsetup.sh
nhập khẩu kịch bản một số lệnh cho phép bạn làm việc với mã nguồn Android, bao gồm các lệnh được sử dụng trong bài tập này.
Để xem danh sách đầy đủ các lệnh có sẵn, hãy chạy:
hmm
Chọn mục tiêu
Bữa trưa
Chọn nhắm mục tiêu để xây dựng với lunch
. lunch product_name - build_variant
Selects product_name là sản phẩm để xây dựng, và build_variant như các biến thể để xây dựng, và các cửa hàng những lựa chọn trong môi trường để được đọc bởi lời gọi tiếp theo của m
và các lệnh tương tự khác.
Cấu hình chính xác có thể được chuyển như một đối số. Ví dụ: lệnh sau đề cập đến một bản dựng hoàn chỉnh cho trình mô phỏng, với tất cả các tính năng gỡ lỗi được bật:
lunch aosp_arm-eng
Nếu chạy với không có đối số, lunch
nhắc bạn chọn một mục tiêu từ trình đơn. Xem Lựa chọn một thiết bị xây dựng cho xây dựng cấu hình của tất cả các thiết bị hiện có.
Tất cả các mục tiêu xây dựng mang hình thức BUILD-BUILDTYPE
, nơi BUILD
là một tên mã đề cập đến tính năng kết hợp cụ thể. BUILDTYPE
là một trong những điều sau đây.
Kiểu xây dựng | Sử dụng |
---|---|
người sử dụng | Truy cập hạn chế; thích hợp cho sản xuất |
userdebug | Giống như người dùng nhưng có quyền truy cập root và khả năng gỡ lỗi; ưu tiên để gỡ lỗi |
eng | Cấu hình phát triển với các công cụ gỡ lỗi bổ sung |
Bản dựng userdebug phải hoạt động giống như bản dựng của người dùng, với khả năng cho phép gỡ lỗi bổ sung thường vi phạm mô hình bảo mật của nền tảng. Điều này làm cho bản dựng userdebug tốt cho việc kiểm tra người dùng với khả năng chẩn đoán cao hơn. Khi phát triển với userdebug xây dựng, hãy làm theo các hướng dẫn userdebug .
Bản dựng tương tác ưu tiên năng suất kỹ thuật cho các kỹ sư làm việc trên nền tảng này. Bản dựng tương tác tắt các tính năng tối ưu hóa khác nhau được sử dụng để mang lại trải nghiệm tốt cho người dùng. Nếu không, bản dựng eng có hành vi tương tự như bản dựng user và userdebug để các nhà phát triển thiết bị có thể thấy cách mã hoạt động trong các môi trường đó.
Để biết thêm thông tin về việc xây dựng cho và chạy trên phần cứng thực tế, xem Flashing Devices .
tapas
Các tapas
lệnh cấu hình xây dựng các ứng dụng unbundled. Nó chọn các ứng dụng riêng lẻ sẽ được xây dựng bởi hệ thống xây dựng Android. Không giống như lunch
, tapas
không yêu cầu việc xây dựng hình ảnh cho một thiết bị.
Chạy tapas help
để biết thêm thông tin về các lệnh.
Xây dựng mã
Phần này là một bản tóm tắt nhanh để đảm bảo rằng quá trình thiết lập đã hoàn tất.
Xây dựng tất cả mọi thứ với m
. m
có thể xử lý các tác vụ song song với một -jN
tranh cãi. Nếu bạn không cung cấp một -j
luận, xây dựng hệ thống tự động chọn một số nhiệm vụ song song mà nó nghĩ rằng là tối ưu cho hệ thống của bạn.
m
Như đã giải thích ở trên, bạn có thể xây dựng các module cụ thể thay vì hình ảnh thiết bị đầy đủ bằng cách liệt kê tên của họ trong bạn m
dòng lệnh. Bên cạnh đó, m
cung cấp một số pseudotargets cho các mục đích đặc biệt. Một số ví dụ:
-
droid
-m droid
là bình thường xây dựng. Mục tiêu này ở đây vì mục tiêu mặc định yêu cầu một tên. -
all
-m all
xây dựng tất cả mọi thứ màm droid
có, cộng với tất cả những gì không códroid
thẻ. Xây dựng máy chủ chạy này để đảm bảo rằng tất cả mọi thứ đó là trong cây và có mộtAndroid.mk
tập tin được xây dựng. -
m
- Chạy được xây dựng từ phía trên cùng của cây. Đây là hữu ích vì bạn có thể chạymake
từ bên trong các thư mục con. Nếu bạn cóTOP
set biến môi trường, nó sử dụng đó. Nếu bạn không, nó sẽ tìm kiếm cây từ thư mục hiện tại, cố gắng tìm phần trên cùng của cây. Bạn có thể có thể xây dựng toàn bộ cây mã nguồn bằng cách chạym
không có đối số hoặc mục tiêu xây dựng cụ thể bằng cách xác định tên của họ. -
mma
- Xây dựng tất cả các module trong thư mục hiện hành, và phụ thuộc của họ. -
mmma
- Xây dựng tất cả các module trong thư mục cung cấp, và phụ thuộc của họ. -
croot
-cd
để phía trên cùng của cây. -
clean
-m clean
xóa tất cả các đầu ra và các tập tin trung gian cho cấu hình này. Đây là giống nhưrm -rf out/
.
Chạy m help
để xem những gì pseudotargets khác m
cung cấp.
Chạy công trình
Bạn có thể chạy bản dựng của mình trên trình giả lập hoặc flash nó trên thiết bị. Bởi vì bạn đã chọn xây dựng mục tiêu của bạn với lunch
, đó là khó có khả năng chạy trên một mục tiêu khác hơn là nó được xây dựng cho.
Nhấp nháy với fastboot
Để flash một thiết bị, sử dụng fastboot
, mà cần được đưa vào con đường của bạn sau một xây dựng thành công. Xem Flashing một thiết bị để được hướng dẫn.
Giả lập thiết bị Android
Trình giả lập được tự động thêm vào đường dẫn của bạn bằng quá trình xây dựng. Để chạy trình giả lập, hãy nhập:
emulator
Hiểu về dấu vân tay xây dựng
Để theo dõi và báo cáo các vấn đề liên quan đến một bản dựng Android cụ thể, điều quan trọng là phải hiểu dấu vân tay của bản dựng. Tệp tham chiếu bản dựng là một chuỗi duy nhất, con người có thể đọc được chứa thông tin nhà sản xuất được cấp cho mỗi bản dựng. Xem mô tả FINGERPRINT trong xây dựng thông số phần của nét tương thích Android Document (CDD) cho cú pháp chính xác.
Tệp tham chiếu bản dựng đại diện cho việc triển khai và sửa đổi Android cụ thể. Khóa duy nhất này cho phép các nhà phát triển ứng dụng và những người khác báo cáo sự cố với các phiên bản chương trình cơ sở cụ thể. Xem Báo cáo Bugs cho quá trình phát hành báo cáo-Android.
Tệp tham chiếu bản dựng đóng gói tất cả các chi tiết triển khai Android:
- API: Android và bản địa, cũng như các hành vi API mềm
- API cốt lõi và một số hành vi giao diện người dùng hệ thống
- Các yêu cầu về tính tương thích và bảo mật được xác định trong CDD
- Thông số kỹ thuật sản phẩm và sử dụng-tính năng thiết lập được sử dụng bởi các ứng dụng với các thiết bị mục tiêu đáp ứng yêu cầu dự kiến
- Triển khai các thành phần phần cứng và phần mềm
Xem CDD để biết chi tiết đầy đủ và thêm một thiết bị mới để được hướng dẫn về việc tạo ra một thiết bị Android hoàn toàn mới.
Khắc phục các lỗi bản dựng phổ biến
Phiên bản Java sai
Nếu bạn đang cố gắng để xây dựng một phiên bản của Android đó là không phù hợp với các phiên bản của Java, make
hủy bỏ với một thông điệp như:
************************************************************ You are attempting to build with the incorrect version of java. Your version is: WRONG_VERSION. The correct version is: RIGHT_VERSION. Please follow the machine setup instructions at https://source.android.com/source/initializing.html ************************************************************
Dưới đây là những nguyên nhân có thể xảy ra và giải pháp:
- Thất bại trong việc cài đặt JDK đúng như quy định trong yêu cầu JDK . Hãy chắc chắn rằng bạn đã làm theo các bước trong Thiết lập môi trường và lựa chọn một mục tiêu .
- Một JDK khác đã được cài đặt trước đó xuất hiện trong đường dẫn của bạn. Thêm JDK chính xác vào đầu đường dẫn của bạn hoặc xóa JDK có vấn đề.
Không có quyền USB
Theo mặc định trên hầu hết các hệ thống Linux, người dùng không có đặc quyền không thể truy cập cổng USB. Nếu bạn thấy một lỗi cho phép từ chối, hãy làm theo các hướng dẫn trong Cấu hình truy cập USB .
Nếu ADB đã được chạy và không thể kết nối với các thiết bị sau khi nhận được những quy tắc thiết lập, bạn có thể giết chết nó với adb kill-server
. Lệnh đó khiến ADB khởi động lại với cấu hình mới.