Python cho giao dịch quyền chọn

Cây nguồn Android nằm trong kho lưu trữ Git do Google lưu trữ. Kho lưu trữ Git bao gồm siêu dữ liệu cho nguồn Android, bao gồm các thay đổi đối với nguồn và khi các thay đổi được thực hiện. Trang này mô tả cách tải xuống cây nguồn cho một dòng mã Android cụ thể

Để bắt đầu với hình ảnh ban đầu cho một thiết bị cụ thể thay vì tải xuống nguồn, hãy xem Chọn bản dựng thiết bị

Khởi tạo ứng dụng khách Repo

Sau khi cài đặt Repo Launcher, hãy thiết lập ứng dụng khách của bạn để truy cập kho nguồn Android

  1. Tạo một thư mục trống để chứa các tệp làm việc của bạn. Đặt cho nó bất kỳ tên nào bạn thích

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
    
  2. Định cấu hình Git với tên thật và địa chỉ email của bạn. Để sử dụng công cụ xem xét mã Gerrit, bạn cần có địa chỉ email được kết nối với tài khoản Google đã đăng ký. Đảm bảo rằng đây là địa chỉ trực tiếp nơi bạn có thể nhận tin nhắn. Tên mà bạn cung cấp ở đây hiển thị trong phần ghi công cho các lần gửi mã của bạn

    git config --global user.name Your Name
    git config --global user.email [email protected]
    
  3. Chạy

    git config --global user.name Your Name
    git config --global user.email [email protected]
    
    8 để tải phiên bản Repo mới nhất với các bản sửa lỗi gần đây nhất. Bạn phải chỉ định một URL cho tệp kê khai, URL này chỉ định vị trí đặt các kho lưu trữ khác nhau có trong nguồn Android trong thư mục làm việc của bạn

    repo init -u https://android.googlesource.com/platform/manifest
    

    Để kiểm tra chi nhánh chính

    repo init -u https://android.googlesource.com/platform/manifest -b master
    

    Để kiểm tra một nhánh không phải là nhánh chính, hãy chỉ định nhánh đó bằng

    git config --global user.name Your Name
    git config --global user.email [email protected]
    
    9. Để biết danh sách các nhánh, xem Thẻ mã nguồn và bản dựng

    Đối với Trăn 2

    Cảnh báo. Hỗ trợ Python 2 đã ngừng hoạt động vào ngày 1 tháng 1 năm 2020 như được trình bày chi tiết trong Ngừng hỗ trợ Python 2. Tất cả các bản phân phối Linux chính đều không hỗ trợ gói Python 2. Google thực sự khuyên bạn nên chuyển tất cả các tập lệnh của mình sang Python 3. Ghi chú. AOSP cung cấp các bản sao riêng của gói Python 2 và Python 3 và bạn có thể sử dụng phiên bản (chẳng hạn như SEPolicy) có trong cây nguồn. Google đang di chuyển tất cả các tập lệnh trong cây nguồn Android sang Python 3 và bản sao được nhúng của Python 2 có thể không được dùng nữa

    Để biết thêm chi tiết, hãy xem Chuyển mã Python 2 sang Python 3 và lời khuyên về việc loại bỏ mã Python 2 của bạn

    Đối với Trăn 3

    Nếu bạn nhận được thông báo lỗi "

    repo init -u https://android.googlesource.com/platform/manifest
    
    0", hãy sử dụng một trong các giải pháp sau

    Nếu Ubuntu 20 của bạn. 04. 2 LTS mới được cài đặt (so với. nâng cấp) phiên bản Linux

    sudo ln -s /usr/bin/python3 /usr/bin/python

    Nếu sử dụng Git phiên bản 2. 19 trở lên, bạn có thể chỉ định

    repo init -u https://android.googlesource.com/platform/manifest
    
    1 khi thực hiện
    git config --global user.name Your Name
    git config --global user.email [email protected]
    
    8. Điều này tận dụng khả năng sao chép một phần của Git để chỉ tải xuống các đối tượng Git khi cần, thay vì tải xuống mọi thứ. Bởi vì sử dụng bản sao một phần có nghĩa là nhiều hoạt động phải giao tiếp với máy chủ, hãy sử dụng cách sau nếu bạn là nhà phát triển và bạn đang sử dụng mạng có độ trễ thấp

    git config --global user.name Your Name
    git config --global user.email [email protected]
    
    0

    Chỉ dành cho hệ điều hành Windows. nếu bạn nhận được thông báo lỗi cho biết không thể tạo liên kết tượng trưng, ​​khiến

    git config --global user.name Your Name
    git config --global user.email [email protected]
    
    8 không thành công, hãy tham khảo tài liệu Liên kết tượng trưng GitHub để tạo các liên kết này hoặc để kích hoạt hỗ trợ của họ. Đối với những người không phải quản trị viên, hãy xem phần Cho phép những người không phải quản trị viên tạo liên kết tượng trưng

Quá trình khởi tạo thành công kết thúc bằng một thông báo cho biết Repo được khởi tạo trong thư mục làm việc của bạn. Thư mục máy khách của bạn hiện chứa thư mục

repo init -u https://android.googlesource.com/platform/manifest
4 nơi lưu giữ các tệp như tệp kê khai

Đang tải xuống cây nguồn Android

Để tải cây nguồn Android xuống thư mục làm việc của bạn từ kho lưu trữ như được chỉ định trong tệp kê khai mặc định, hãy chạy

git config --global user.name Your Name
git config --global user.email [email protected]
3

Để tăng tốc độ đồng bộ hóa, hãy chuyển các cờ

repo init -u https://android.googlesource.com/platform/manifest
5 (nhánh hiện tại) và
repo init -u https://android.googlesource.com/platform/manifest
6

git config --global user.name Your Name
git config --global user.email [email protected]
6

Các tệp nguồn Android được tải xuống trong thư mục làm việc của bạn dưới tên dự án của chúng

Để chặn đầu ra, hãy chuyển cờ

repo init -u https://android.googlesource.com/platform/manifest
7 (im lặng). Xem Tham khảo lệnh Repo để biết tất cả các tùy chọn

Sử dụng xác thực

Theo mặc định, quyền truy cập vào mã nguồn Android là ẩn danh. Để bảo vệ máy chủ khỏi việc sử dụng quá mức, mỗi địa chỉ IP được liên kết với một hạn ngạch

Khi chia sẻ địa chỉ IP với người dùng khác (ví dụ: khi truy cập kho nguồn từ bên ngoài tường lửa NAT), hạn ngạch có thể kích hoạt ngay cả đối với các mẫu sử dụng thông thường (ví dụ: nếu nhiều người dùng đồng bộ hóa ứng dụng khách mới từ cùng một địa chỉ IP trong một

Trong trường hợp đó, bạn có thể sử dụng quyền truy cập được xác thực, sau đó sử dụng hạn ngạch riêng cho mỗi người dùng, bất kể địa chỉ IP là gì

Đầu tiên, tạo mật khẩu bằng trình tạo mật khẩu và làm theo hướng dẫn trên trang trình tạo mật khẩu

Tiếp theo, buộc truy cập được xác thực bằng cách sử dụng URI tệp kê khai

repo init -u https://android.googlesource.com/platform/manifest
8. Lưu ý cách tiền tố thư mục
repo init -u https://android.googlesource.com/platform/manifest
9 kích hoạt xác thực bắt buộc. Bạn có thể chuyển đổi ứng dụng khách hiện có để sử dụng xác thực bắt buộc bằng lệnh sau

git config --global user.name Your Name
git config --global user.email [email protected]
0

Khắc phục sự cố mạng

Khi tải xuống từ phía sau proxy (phổ biến trong một số môi trường công ty), bạn có thể cần chỉ định rõ ràng proxy cho Repo để sử dụng

git config --global user.name Your Name
git config --global user.email [email protected]
1

Hiếm gặp hơn, máy khách Linux gặp sự cố kết nối, bị kẹt giữa chừng khi tải xuống (thường là trong khi nhận đối tượng). Điều chỉnh cài đặt của ngăn xếp TCP/IP và sử dụng các lệnh không song song có thể cải thiện tình hình. Bạn phải có quyền truy cập root để sửa đổi cài đặt TCP

git config --global user.name Your Name
git config --global user.email [email protected]
0

Sử dụng gương cục bộ

Khi sử dụng một số ứng dụng khách, đặc biệt là trong các trường hợp khan hiếm băng thông, tốt hơn là tạo một bản sao cục bộ của toàn bộ nội dung máy chủ và đồng bộ hóa các ứng dụng khách từ bản sao đó (không yêu cầu truy cập mạng). Bản tải xuống của một máy nhân bản đầy đủ nhỏ hơn bản tải xuống của hai ứng dụng khách và nó chứa nhiều thông tin hơn

Các hướng dẫn này giả định rằng máy nhân bản được tạo trong

repo init -u https://android.googlesource.com/platform/manifest -b master
0. Đầu tiên, tạo và đồng bộ hóa gương. Lưu ý cờ
repo init -u https://android.googlesource.com/platform/manifest -b master
1 mà bạn chỉ có thể chỉ định khi tạo ứng dụng khách mới

git config --global user.name Your Name
git config --global user.email [email protected]
1

Khi máy nhân bản được đồng bộ hóa, bạn có thể tạo ứng dụng khách mới từ nó. Lưu ý rằng bạn phải chỉ định một đường dẫn tuyệt đối

git config --global user.name Your Name
git config --global user.email [email protected]
2

Cuối cùng, để đồng bộ máy khách với máy chủ, hãy đồng bộ máy nhân bản với máy chủ, sau đó máy khách với máy nhân bản

git config --global user.name Your Name
git config --global user.email [email protected]
3

Có thể lưu trữ máy nhân bản trên máy chủ LAN và truy cập nó qua NFS, SSH hoặc Git. Cũng có thể lưu trữ nó trên một ổ đĩa di động và chuyển ổ đĩa đó giữa những người dùng hoặc máy

Xác minh thẻ Git

Tải khóa công khai sau vào cơ sở dữ liệu khóa GnuPG của bạn. Khóa được sử dụng để ký các thẻ chú thích đại diện cho các bản phát hành

git config --global user.name Your Name
git config --global user.email [email protected]
4

Sao chép và dán khóa bên dưới, sau đó nhập

repo init -u https://android.googlesource.com/platform/manifest -b master
2 (Ctrl-D) để kết thúc nhập và xử lý khóa

git config --global user.name Your Name
git config --global user.email [email protected]
5

Sau khi nhập khóa, bạn có thể xác minh bất kỳ thẻ nào bằng

git config --global user.name Your Name
git config --global user.email [email protected]
6

Có được các tệp nhị phân độc quyền

Không thể sử dụng AOSP chỉ từ mã nguồn thuần túy và yêu cầu các thư viện độc quyền bổ sung liên quan đến phần cứng để chạy, chẳng hạn như để tăng tốc đồ họa phần cứng. Xem các phần bên dưới để biết các liên kết tải xuống và tệp nhị phân của Thiết bị để có thêm tài nguyên

Một số thiết bị đóng gói các tệp nhị phân độc quyền này trên phân vùng
repo init -u https://android.googlesource.com/platform/manifest -b master
3 của chúng

Tải xuống các tệp nhị phân độc quyền

Bạn có thể tải xuống các tệp nhị phân chính thức cho các thiết bị được hỗ trợ đang chạy các nhánh phát hành AOSP được gắn thẻ từ trình điều khiển của Google. Các tệp nhị phân này thêm quyền truy cập vào các khả năng phần cứng bổ sung với mã nguồn không mở. Để xây dựng nhánh chính AOSP, thay vào đó hãy sử dụng Bản xem trước nhị phân. Khi xây dựng nhánh chính cho thiết bị, hãy sử dụng các tệp nhị phân cho bản phát hành được đánh số gần đây nhất hoặc với ngày gần đây nhất

Trích xuất các tệp nhị phân độc quyền

Mỗi bộ nhị phân xuất hiện dưới dạng tập lệnh tự giải nén trong kho lưu trữ nén. Giải nén từng kho lưu trữ, chạy tập lệnh tự giải nén đi kèm từ gốc của cây nguồn, sau đó xác nhận rằng bạn đồng ý với các điều khoản của thỏa thuận cấp phép kèm theo. Các tệp nhị phân và tệp thực hiện phù hợp của chúng được cài đặt trong hệ thống phân cấp

repo init -u https://android.googlesource.com/platform/manifest -b master
4 của cây nguồn

Dọn dẹp

Để đảm bảo các tệp nhị phân mới cài đặt được tính đến đúng cách sau khi được trích xuất, hãy xóa đầu ra hiện có của bất kỳ bản dựng nào trước đó bằng cách sử dụng