Cách tạo ROM tùy chỉnh từ Dự án nguồn mở Android

nguồn được gọi là AOSP (Dự án nguồn mở Android) .



Bây giờ điều về AOSP là mã nguồn thuần túy không bao gồm các loại phần cứng dành riêng cho thiết bị. Theo thuật ngữ của giáo dân, phần cứng như máy ảnh và GPU của bạn sẽ không hoạt động “bình thường” khi phát triển với AOSP. Trên thực tế, thiết bị của bạn thậm chí sẽ không khởi động được nếu không có các mã nhị phân phần cứng này.

Nếu đang phát triển điện thoại mang thương hiệu Google (Pixel, Nexus, v.v.), bạn có thể tìm thấy các tệp nhị phân phần cứng trực tiếp từ Google và hướng dẫn này sẽ hướng dẫn bạn cách lấy và xây dựng chúng vào ROM của bạn. Tuy nhiên, nếu bạn đang phát triển ROM cho một chiếc điện thoại có thương hiệu (Sony, Samsung, v.v.)… thì hãy chúc phúc cho trái tim của bạn, vì bạn đã sẵn sàng.



Một số các nhà sản xuất có các dự án mã nguồn mở của riêng họ hoặc phát hành các công cụ phát triển cho các nhà phát triển sẽ là những nhà phát triển, trong khi các nhà sản xuất khác luôn giữ kín các mã độc quyền của họ. Dưới đây là danh sách ngắn gọn các dự án nguồn mở từ các nhà sản xuất phổ biến hơn:



Trung tâm phát hành mã nguồn mở của Samsung
Thế giới nhà phát triển Sony
Hỗ trợ của Lenovo
Trung tâm phát hành mã nguồn mở của Huawei
Nhà phát triển Motorola



Với điều đó, chúng ta hãy tiếp tục với giả định rằng chúng tôi đang xây dựng một ROM cho trải nghiệm Android đơn giản, cơ bản nhất dành cho thiết bị Google Pixel. Với kiến ​​thức này, bạn sẽ có thể tự phát triển và bắt đầu phát triển các phiên bản tùy chỉnh của ROM của nhà sản xuất cụ thể.

Yêu cầu đối với Hướng dẫn này:

  • Dự án nguồn mở Android
  • Điện thoại Pixel XL hoặc là một trình giả lập Android cho Linux
  • Hệ điều hành Linux 64-bit - Ubuntu hoặc là Linux Mint là những bản phân phối thân thiện với người mới sử dụng nhất, trong khi BBQLinux được phát triển đặc biệt với các nhà phát triển Android.
  • Python
  • Một máy tính mạnh mẽ (biên dịch mã tốn rất nhiều bộ nhớ và không gian!)

Thiết lập môi trường xây dựng của bạn

Hãy bắt đầu bằng cách thiết lập trình giả lập Android trên máy Linux của bạn. Cho dù bạn có thiết bị Google Pixel XL hay không, cách an toàn nhất là thử ROM mới của bạn trên trình giả lập Android trước flash nó vào thiết bị của bạn. Yêu thích cá nhân của tôi là Genymotion, vì vậy tôi sẽ hướng dẫn bạn cách cài đặt trình mô phỏng cụ thể đó. Tuy nhiên, bạn cũng có thể xem hướng dẫn này “ Trình giả lập Android tốt nhất ”, Vì hầu hết chúng cũng có khả năng tương thích với Linux.

Đi đến Trang web Genymotion , đăng ký tài khoản, xác minh tài khoản qua email và tải tệp thực thi xuống máy tính để bàn Linux của bạn.



Bây giờ, hãy mở một thiết bị đầu cuối Linux và nhập:

Chmod + x genymotion-xxxxx.bin (thay xxxx bằng số phiên bản trong tên tệp)
./genymotion-xxxxxx.bin

nhấn để tạo thư mục Genymotion. Bây giờ gõ vào thiết bị đầu cuối:

cd genymotion && ./genymotion

Bây giờ nó sẽ yêu cầu bạn bắt đầu quá trình cài đặt, vì vậy chỉ cần tiếp tục nhấp vào Tiếp theo cho đến khi bạn đến cửa sổ Thêm thiết bị ảo. Chọn “Pixel XL” trong tùy chọn Kiểu thiết bị, sau đó hoàn tất cài đặt. Bạn có thể kiểm tra thiết bị ảo nếu muốn, về cơ bản nó sẽ giống như bạn có điện thoại Pixel XL trên máy tính để bàn.

Bây giờ chúng ta hãy thiết lập Python:

$ apt-get install python

Bây giờ chúng ta cần thiết lập Bộ phát triển Java trên máy Linux của bạn. Mở thiết bị đầu cuối Linux và nhập các lệnh sau:

$ sudo apt-get cập nhật
$ sudo apt-get install openjdk-8-jdk

Bây giờ bạn sẽ cần phải cấu hình hệ thống Linux để cho phép truy cập thiết bị USB. Chạy mã sau trong thiết bị đầu cuối Linux:

Thao tác này sẽ tải xuống tệp 51-android.txt bắt buộc cho phép truy cập thiết bị USB nói trên. Mở tệp .txt và sửa đổi nó để bao gồm tên người dùng Linux của bạn, sau đó đặt tệp .txt vào vị trí sau: (như người dùng root ). Bây giờ, hãy cắm thiết bị của bạn vào máy tính qua USB để các quy tắc mới tự động có hiệu lực.

Tải xuống nguồn Android

AOSP được lưu trữ trên Git, vì vậy chúng tôi sẽ sử dụng một công cụ có tên là Repo để giao tiếp với Git.

Trước tiên, chúng ta cần thiết lập thư mục a / bin trong Thư mục chính của bạn. Nhập các lệnh sau vào thiết bị đầu cuối Linux:

$ mkdir ~ / thùng
$ PATH = ~ / bin: $ PATH

Bây giờ chúng ta sẽ tải xuống công cụ Repo, vì vậy hãy nhập vào Linux terminal:

$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo

Sau khi Repo được cài đặt, bây giờ chúng ta phải tạo một thư mục trống để chứa các tệp công việc của bạn. Vì vậy, hãy nhập cái này vào thiết bị đầu cuối Linux:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Bây giờ chúng tôi sẽ định cấu hình Git bằng tên và địa chỉ email của bạn - sử dụng địa chỉ Gmail mà bạn kiểm tra thường xuyên , nếu không, bạn sẽ không thể sử dụng công cụ xem lại mã Gerrit.

$ git config –global user.name “Tên của bạn”
$ git config –global user.email
you@gmail.com

Bây giờ chúng tôi sẽ yêu cầu Repo lấy bản kê khai chính mới nhất của AOSP từ Git:

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

Nếu thực hiện thành công, bạn sẽ nhận được thông báo Repo đã được khởi tạo trong thư mục làm việc của bạn. Bạn cũng sẽ tìm thấy một “ .repo ” thư mục bên trong thư mục khách hàng. Vì vậy, bây giờ chúng tôi sẽ tải xuống cây nguồn Android với:

$ repo đồng bộ

Xây dựng nguồn Android

Đây là lúc các mã nhị phân phần cứng được đề cập ở đầu hướng dẫn này phát huy tác dụng. Chúng ta hãy đi đến Trình điều khiển AOSP và tải xuống tệp nhị phân Pixel XL dành cho Android 7.1.0 (NDE63P). Bạn muốn tải xuống cả hình ảnh nhà cung cấp và các thành phần phần cứng. Đây là những kho lưu trữ được nén, vì vậy hãy giải nén chúng vào màn hình của bạn và chạy tập lệnh tự giải nén từ thư mục gốc. Chọn cài đặt các tệp nhị phân vào thư mục gốc của WORKING_DIRECTORY mà chúng tôi đã tạo trước đó.

Bây giờ hãy nhập vào thiết bị đầu cuối Linux của bạn:

$ make clobber
$ source build / envsetup.sh

Bây giờ chúng ta sẽ chọn mục tiêu để xây dựng, vì vậy hãy nhập:

$ bữa trưa aosp_marlin-userdebug
$ setpaths
$ make –j4

Ở đó, bây giờ chúng tôi đã “xây dựng” một ROM Android từ nguồn. Vì vậy, hãy kiểm tra nó trong trình giả lập, bằng cách nhập vào thiết bị đầu cuối:

$ giả lập

Vì vậy, hãy chơi xung quanh trình giả lập một chút. Như bạn có thể thấy, trải nghiệm Android thuần túy là khá tối thiểu và đây là lý do tại sao các nhà sản xuất tùy chỉnh AOSP theo nhu cầu của họ. Vì vậy, bạn có thể flash ROM này mà chúng tôi chỉ tạo cho thiết bị của bạn nếu bạn muốn, nhưng không thêm bất kỳ cải tiến nào, trải nghiệm Android thuần túy sẽ thực sự là một điều rất nhàm chán.

Vì vậy, những gì các nhà sản xuất thường làm với AOSP là fork nó, thêm các tệp nhị phân độc quyền của riêng họ, tùy chỉnh giao diện người dùng, thêm logo khởi động, v.v. Về cơ bản, nhà sản xuất chỉ sơn lên ROM Android gốc và đó cũng sẽ là mục tiêu tiếp theo của bạn .

Hãy chú ý theo dõi, vì phần thứ hai của hướng dẫn này sẽ hướng dẫn thêm phông chữ, chủ đề và hoạt ảnh khởi động vào ROM của bạn!

5 phút đọc