Kịch bản adb python

Xem tập lệnh tại platform/build/envsetup. sh để biết mô tả về các lệnh liên quan, bao gồm cả lunch để chọn mục tiêu thiết bị và tapas để xây dựng các ứng dụng chưa được nhóm, chẳng hạn như ứng dụng TV tham chiếu

Bạn cần phát hành lại lệnh này sau mỗi

. build/envsetup.sh
8 để nhận bất kỳ thay đổi nào đối với tập lệnh đó. Lưu ý rằng việc thay thế
. build/envsetup.sh
9 bằng
. build/envsetup.sh
0 [một dấu chấm] sẽ tiết kiệm được một vài ký tự và dạng viết tắt được sử dụng phổ biến hơn trong tài liệu

Tập lệnh

lunch aosp_arm-eng
0 nhập 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

Lựa chọn mục tiêu

Bữa trưa

Chọn mục tiêu để xây dựng với

. build/envsetup.sh
2.
. build/envsetup.sh
3 chọn product_name làm sản phẩm để xây dựng và build_variant làm biến thể để xây dựng và lưu trữ các lựa chọn đó trong môi trường để đọc bằng các lệnh gọi tiếp theo của
. build/envsetup.sh
4 và các lệnh tương tự khác

Cấu hình chính xác có thể được chuyển thành đối số. Ví dụ: lệnh sau đề cập đến một bản dựng hoàn chỉnh cho trình giả lập, 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 không có đối số,

. build/envsetup.sh
2 sẽ nhắc bạn chọn mục tiêu từ menu, nhưng lưu ý rằng menu không bao gồm mọi khả năng. Xem phần Chọn bản dựng thiết bị để biết cấu hình bản dựng của tất cả các thiết bị được hỗ trợ trong AOSP hoặc nói chuyện với mọi người trong nhóm của bạn về bữa trưa phù hợp cho thiết bị mà bạn đang làm việc

Tất cả các mục tiêu xây dựng có dạng

. build/envsetup.sh
6, trong đó
. build/envsetup.sh
7 là tên mã đề cập đến tổ hợp tính năng cụ thể.
. build/envsetup.sh
8 là một trong những điều sau đây

BuildtypeUseuserTruy cập hạn chế;

Bản dựng userdebug phải hoạt động giống như bản dựng người dùng, với khả năng kích hoạt 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 thử nghiệm của người dùng với khả năng chẩn đoán tốt hơn. Khi phát triển với bản dựng userdebug, hãy làm theo hướng dẫn userdebug

Bản dựng eng ư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. Bản dựng eng tắt các tối ưu hóa khác nhau được sử dụng để cung cấp trải nghiệm người dùng tốt. Mặt khác, bản dựng eng có hành vi tương tự như bản dựng người dùng và userdebug để nhà phát triển thiết bị có thể xem cách mã hoạt động trong các môi trường đó

Để biết thêm thông tin về cách xây dựng và chạy trên phần cứng thực tế, hãy xem Thiết bị nhấp nháy

tapas

Lệnh

. build/envsetup.sh
9 định cấu hình bản dựng của các ứng dụng chưa được nhóm. Nó chọn các ứng dụng riêng lẻ được xây dựng bởi hệ thống xây dựng Android. Không giống như
. build/envsetup.sh
2,
. build/envsetup.sh
9 không yêu cầu xây dựng hình ảnh cho thiết bị

Chạy

hmm
2 để biết thêm thông tin về lệnh

xây dựng mã

Phần này là phầ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 mọi thứ với

. build/envsetup.sh
4.
. build/envsetup.sh
4 có thể xử lý các tác vụ song song với đối số
hmm
5. Nếu bạn không cung cấp đối số
hmm
6, hệ thống xây dựng sẽ tự động chọn số lượng tác vụ song song mà nó cho là tối ưu cho hệ thống của bạn

hmm
8

Như đã giải thích ở trên, bạn có thể xây dựng các mô-đun cụ thể thay vì hình ảnh thiết bị đầy đủ bằng cách liệt kê tên của chúng trong dòng lệnh

. build/envsetup.sh
4 của bạn. Ngoài ra,
. build/envsetup.sh
4 cung cấp một số mục tiêu giả cho các mục đích đặc biệt. Một số ví dụ

  • hmm
    
    9 -
    lunch aosp_arm-eng
    
    0 là bản dựng bình thường. Mục tiêu này ở đây vì mục tiêu mặc định yêu cầu tên
  • lunch aosp_arm-eng
    
    1 -
    lunch aosp_arm-eng
    
    2 xây dựng mọi thứ mà
    lunch aosp_arm-eng
    
    0 làm, cộng với mọi thứ không có thẻ
    hmm
    
    9. Máy chủ xây dựng chạy điều này để đảm bảo rằng mọi thứ trong cây và có tệp
    lunch aosp_arm-eng
    
    5 đều được xây dựng
  • . build/envsetup.sh
    
    4 - Runs builds from the top of the tree. Điều này rất hữu ích vì bạn có thể chạy
    lunch aosp_arm-eng
    
    7 từ bên trong các thư mục con. Nếu bạn có bộ biến môi trường
    lunch aosp_arm-eng
    
    8, nó sẽ sử dụng biến đó. Nếu không, nó sẽ tìm kiếm cây từ thư mục hiện tại, cố gắng tìm đỉnh của cây. Bạn có thể xây dựng toàn bộ cây mã nguồn bằng cách chạy
    . build/envsetup.sh
    
    4 mà không có đối số hoặc xây dựng các mục tiêu cụ thể bằng cách chỉ định tên của chúng
  • hmm
    
    80 - Xây dựng tất cả các mô-đun trong thư mục hiện tại và các phần phụ thuộc của chúng
  • hmm
    
    81 - Xây dựng tất cả các mô-đun trong các thư mục được cung cấp và các phần phụ thuộc của chúng
  • hmm
    
    82 -
    hmm
    
    83 lên ngọn cây
  • hmm
    
    84 -
    hmm
    
    85 xóa tất cả các tệp đầu ra và tệp trung gian cho cấu hình này. Điều này giống như
    hmm
    
    86

Chạy

hmm
87 để xem các mục tiêu giả khác mà
. build/envsetup.sh
4 cung cấp

Chạy bản dựng

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 mục tiêu xây dựng của mình với

. build/envsetup.sh
2, nó không có khả năng chạy trên một mục tiêu khác với mục tiêu được xây dựng cho

Ghi chú. Hãy nhớ lấy các tệp nhị phân độc quyền nếu không bản dựng của bạn sẽ không khởi động thành công trên phần cứng mục tiêu của bạn. Đôi khi nguồn có thể có các tệp nhị phân khác nhau cho các bản dựng và nhánh khác nhau. Nếu bạn nhận được các đốm màu nhị phân tại thời điểm này, bạn cần giải nén chúng,

. build/envsetup.sh
20 và xây dựng lại. Để biết thêm thông tin về quy trình này, hãy xem Lấy nhị phân độc quyền

Nhấp nháy với fastboot

Để flash thiết bị, hãy sử dụng

. build/envsetup.sh
21, thiết bị này sẽ được đưa vào đường dẫn của bạn sau khi xây dựng thành công. Xem Nhấp nháy thiết bị để biết hướng dẫn

Giả lập thiết bị Android

The emulator is added to your path automatically by the build process. Để chạy trình giả lập, gõ

. build/envsetup.sh
2

Hiểu dấu vân tay xây dựng

Để theo dõi và báo cáo các sự cố 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. Dấu vân tay 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ả VÂN TAY trong phần Thông số bản dựng của Tài liệu định nghĩa khả năng tương thích của Android [CDD] để biết cú pháp chính xác

Dấu vân tay xây dựng đại diện cho một bản sửa đổi và triển khai 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 phần Báo cáo lỗi cho quy trình báo cáo sự cố Android

Dấu vân tay xây dựng gói gọn 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 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 của sản phẩm và cài đặt tính năng sử dụng được ứng dụng sử dụng để nhắm mục tiêu các thiết bị đáp ứng các 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 thiết bị mới để biết hướng dẫn tạo thiết bị Android hoàn toàn mới

Khắc phục sự cố các lỗi xây 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 Android không phù hợp với phiên bản Java của bạn, thì

lunch aosp_arm-eng
7 sẽ hủy bỏ bằng một thông báo chẳng hạn như

. build/envsetup.sh
6

Dưới đây là những nguyên nhân có thể xảy ra và giải pháp

  • Không cài đặt đúng JDK như được chỉ định trong yêu cầu JDK. Đảm bảo bạn đã làm theo các bước trong Thiết lập môi trường và Chọn 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 lỗi quyền bị từ chối, hãy làm theo hướng dẫn trong Định cấu hình quyền truy cập USB

Nếu ADB đã chạy và không thể kết nối với thiết bị sau khi thiết lập các quy tắc đó, bạn có thể tắt nó bằng

. build/envsetup.sh
23. Lệnh đó khiến ADB khởi động lại với cấu hình mới

Chủ Đề