Làm thế nào để xây dựng một ROM tùy chỉnh từ dự án mã nguồn mở Android

Nếu bạn quen với việc root điện thoại Android hoặc tải xuống các ROM tùy chỉnh, chẳng hạn như CyanogenMod rất phổ biến hoặc hệ điều hành kế thừa Lineage, bạn có thể tự hỏi - làm cách nào để mọi người xây dựng các ROM này? Làm thế nào nhiều công việc chính xác đi vào phát triển một ROM tùy chỉnh?

Hướng dẫn này sẽ hướng dẫn bạn qua các khái niệm cơ bản về phát triển ROM Android tùy chỉnh của riêng bạn. Cần lưu ý rằng đây là một cam kết lớn - nếu bạn không có kinh nghiệm về mã hóa hoặc lừa xung quanh trong các thiết bị đầu cuối Linux, bạn có thể muốn có một số kiến ​​thức trong vành đai của mình trước khi đi sâu vào sâu này. Nhưng nếu bạn có ít nhất một ý tưởng cơ bản về những điều đó, tôi sẽ cố gắng giải thích mọi thứ càng đơn giản càng tốt, để bạn có thể làm theo.

Về cơ bản những gì chúng tôi đang làm là tải xuống mã nguồn Android nguyên (AOSP) và sửa đổi nó theo ý thích của chúng tôi. Bởi vì có rất nhiều nguồn để lựa chọn cho các thiết bị khác nhau, hướng dẫn này sẽ chỉ đơn giản là tham khảo nguồn chính đượ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 phần cứng của thiết bị cụ thể. 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 khi phát triển với AOSP. Trong thực tế, thiết bị của bạn thậm chí sẽ không khởi động nếu không có các phần cứng nhị phân này.

Nếu bạn đang phát triển cho điện thoại có thương hiệu Google (Pixel, Nexus, v.v.), bạn có thể tìm thấy các tệp phần cứng nhị phân 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 một ROM cho một chiếc điện thoại thương hiệu (Sony, Samsung, v.v.), hãy chúc lành cho trái tim của bạn, bởi vì bạn đang ở trong một chuyến đi.

Một số nhà sản xuất có các dự án 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à phát triển, trong khi các nhà sản xuất khác giữ chặt nắp trên các mã độc quyền của họ. Dưới đây là danh sách ngắn các dự án nguồn mở từ các nhà sản xuất nổi tiếng 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ở Huawei
Nhà phát triển Motorola

Với cách đó, 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 cơ bản nhất, vani cho thiết bị Google Pixel. Với kiến ​​thức này, bạn có thể tự mình phân nhánh 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 cho Hướng dẫn này:

  • Dự án mã nguồn mở Android
  • Điện thoại Pixel XL hoặc trình giả lập Android cho Linux
  • Hệ điều hành Linux 64 bit - Ubuntu hoặc Linux Mint là các bản phân phối thân thiện với người mới 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ã chiếm 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, bạn luôn phải thử ROM mới của mình trên trình mô phỏng Android trước khi nhấp 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ài đặt trình giả lập 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 cho Windows trong năm 2017, vì hầu hết trong số chúng cũng có khả năng tương thích với Linux.

Truy cập 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ờ mở một thiết bị đầu cuối Linux và gõ:

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

Nhấn Y để tạo thư mục Genymotion. Bây giờ gõ vào terminal:

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ấn Next cho đến khi bạn vào cửa sổ Add Virtual Devices. Chọn Pixel XL trong tùy chọn Device Model, và sau đó hoàn tất cài đặt. Bạn có thể thử nghiệm thiết bị ảo nếu muốn, về cơ bản nó giống như có điện thoại Pixel XL trên máy tính để bàn của bạn.

Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đây

Bây giờ hãy thiết lập Python:

$ apt-get cài đặt 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ở terminal Linux và gõ các lệnh sau:

$ sudo apt-get update
$ sudo apt-get cài đặt 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ị trí sau: (là 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 ta sẽ sử dụng một công cụ gọi là Repo để giao tiếp với Git.

Đầu tiên chúng ta cần phải thiết lập một thư mục / bin trong thư mục Home của bạn. Gõ các lệnh sau vào terminal Linux:

$ mkdir ~ / bin
$ PATH = ~ / bin: $ PATH

Bây giờ chúng tôi sẽ tải xuống công cụ Repo, vì vậy hãy nhập vào thiết bị đầu cuối Linux:

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

Sau khi Repo được cài đặt, chúng ta phải tạo một thư mục trống để giữ các tệp công việc của bạn. Vì vậy, hãy nhập mã 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ẽ cấu hình Git với tên và địa chỉ email của bạn - sử dụng địa chỉ Gmail mà bạn thường xuyên kiểm tra, nếu không bạn sẽ không thể sử dụng công cụ đánh giá mã Gerrit.

$ git config –global user.name Tên của bạn
$ git config –global user.email [email protected]

Bây giờ chúng tôi sẽ yêu cầu Repo kéo bản tóm tắt 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 một thông báo rằng 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 thư mục .repo bên trong thư mục máy khách. Vì vậy, bây giờ chúng tôi sẽ tải xuống cây nguồn Android với:

$ repo sync

Xây dựng nguồn Android

Đây là nơi các tập tin nhị phân phần cứng được đề cập ở đầu hướng dẫn này sẽ được phát. Hãy truy cập trang trình điều khiển AOSP và tải xuống các tệp nhị phân Pixel XL cho Android 7.1.0 (NDE63P). Bạn muốn tải xuống cả hình ảnh của nhà cung cấp và các thành phần phần cứng. Các tệp này được lưu trữ dưới dạng nén, do đó hãy trích xuất 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ờ gõ vào thiết bị đầu cuối Linux của bạn:

$ làm cho 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 gõ:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4

Ở đó, 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 mô phỏng, bằng cách gõ vào terminal:

$ emulator

Vì vậy, chơi xung quanh trong 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 vani là khá nhỏ, 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 vừa 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 vani sẽ là một điều rất nhàm chán thực sự.

Vì vậy, những gì các nhà sản xuất thường sẽ làm với AOSP là dĩa 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 biểu tượng khởi động, v.v. Nhà sản xuất về cơ bản chỉ vẽ trên ROM Android chứng khoán, và đó cũng sẽ là mục tiêu tiếp theo của bạn .

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

Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đây

Facebook Twitter Google Plus Pinterest