THỦ THUẬT HAYTIN TỨC

Android 17 tung source code trên Android Open Source Project (AOSP)

Tóm tắt nhanh:

  • Android 17 (codenamed Cinnamon Bun) là bản phát hành Android lớn thứ 17, đã chính thức ra mắt tháng 6/2026 và được Google public đầy đủ mã nguồn trên Android Open Source Project (AOSP).
  • Từ Android 17 trở đi, cây source AOSP được đánh dấu read-only trong quá trình build, cùng với hàng loạt thay đổi về bảo mật, CTS và phiên bản tương thích, buộc bạn phải siết quy trình phát triển, patch và đóng gói ROM chuẩn hơn.
  • Chỉ với vài lệnh repo initrepo sync, bạn có thể tải trọn bộ source Android 17 từ nhánh android-latest-release, build trên Cuttlefish/Pixel, sau đó tùy biến framework, system app hoặc port ROM cho thiết bị riêng.

Android 17 là thế hệ Android mới nhất, kế nhiệm Android 16, với tên mã Cinnamon Bun và ngày phát hành chính thức là 16/06/2026.

Ngay sau khi platform đạt trạng thái stable, Google phát hành mã nguồn lên AOSP để toàn bộ hệ sinh thái – từ nhà sản xuất thiết bị, cộng đồng ROM tới researcher – có thể tải về, build và tùy biến.

AOSP (Android Open Source Project) là nơi lưu trữ toàn bộ source Android: từ Linux kernel, HAL, system service, framework, system UI đến app mẫu và công cụ build.

Trong workflow chuẩn, Google phát triển nội bộ trên branch private, sau đó đẩy một nhánh ổn định như android-latest-release hoặc các tag (ví dụ: android-17.0.0_rX) lên AOSP sau khi đã test và harden đầy đủ.

Android 17 trên AOSP có gì mới so với các bản trước?

Tài liệu release notes của Android 17 trên AOSP cho biết từ phiên bản này trở đi, cây source AOSP được đánh dấu read-only trong quá trình build để ngăn hệ thống build âm thầm chỉnh sửa mã nguồn gốc.

Nếu có build script hoặc module nào cố gắng ghi vào source tree (ví dụ sinh file trong thư mục code thay vì thư mục output), build sẽ fail, buộc bạn refactor lại pipeline cho sạch hơn.

Ở tầng platform, Android 17 bổ sung và siết chặt thêm nhiều thay đổi: bảo vệ dynamic code loading (DCL) được mở rộng sang native library, certificate transparency bật mặc định, bảo vệ local network, cùng các cơ chế siết background audio và hành vi ứng dụng trên màn hình lớn.

Với nhà phát triển framework và ROM, điều này có nghĩa là mọi hack “viết tạm ra source”, patch nhanh bằng cách ghi đè file trong quá trình build giờ sẽ ít đất diễn hơn; thay vào đó, bạn cần patch chuẩn qua git, apply diff rõ ràng, hoặc làm việc trong thư mục out.

Kiến trúc nền tảng Android 17 trong AOSP

Để hiểu “Android 17 source code” thực sự gồm những gì, hãy nhìn lại kiến trúc chuẩn của Android:

AOSP chia code thành nhiều lớp: Linux kernel và driver ở dưới cùng, phía trên là Hardware Abstraction Layer (HAL), native C/C++ libraries, Android Runtime (ART), Java/Kotlin framework API rồi mới đến system app và ứng dụng của bên thứ ba.

Khi checkout Android 17 từ AOSP, bạn nhận được đầy đủ các thành phần này (trừ một số binary driver proprietary cho từng thiết bị), đủ để build image chạy trên Cuttlefish, Pixel hoặc thiết bị riêng của bạn.

Chuẩn bị môi trường để làm việc với Android 17 source

Trước khi tải source Android 17, bạn cần chuẩn bị môi trường build:

  • Máy Linux x86_64 (Ubuntu, Debian, v.v.) với đủ RAM và dung lượng đĩa (ít nhất hàng trăm GB nếu bạn build nhiều target).
  • Công cụ cơ bản: Git, OpenJDK, Make, Python 3 và đặc biệt là tool repo để quản lý hàng trăm Git project trong AOSP.
  • Kết nối mạng ổn định, vì lệnh repo sync thường mất từ vài chục phút tới hơn một giờ tùy băng thông và số lượng branch bạn kéo về.

Hướng dẫn chính thức của AOSP mô tả rõ cách cài repo và kiểm tra phiên bản launcher phải từ 2.4 trở lên để làm việc với nhánh Android mới như Android 17.

Nếu bạn build trên Nexus/Pixel hoặc thiết bị tự phát triển, bạn cũng cần tải thêm binary blob tương ứng để image có thể boot được trên hardware thực.

Hướng dẫn download Android 17 source code từ AOSP

Trang “Download the Android source” trên AOSP mô tả quy trình chuẩn để lấy source Android bản mới nhất – hiện tại là Android 17 – thông qua nhánh android-latest-release.

Bước 1: Cài repo tool

export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo

Lệnh trên tải file repo từ server Google, verify GPG signature rồi cài vào ~/bin/repo.

Bước 2: Tạo thư mục làm việc

mkdir aosp
cd aosp

Bước 3: Init nhánh Android 17 (android-latest-release)

Để lấy phiên bản Android mới nhất đã được Google đẩy lên AOSP (hiện là Android 17), bạn dùng:

repo init --partial-clone -b android-latest-release -u https://android.googlesource.com/platform/manifest

Tùy chọn -b android-latest-release chỉ ra nhánh release mới nhất, còn -u trỏ tới repo manifest chính của AOSP.
File manifest default.xml trong repo này sẽ tham chiếu tới hàng trăm project con như platform/build, platform/frameworks/base, platform/art, device/*… tương ứng với cây source Android đầy đủ.

Bước 4: Đồng bộ source

repo sync -j8

Tham số -j8 cho phép chạy song song nhiều luồng để rút ngắn thời gian đồng bộ; tùy cấu hình máy bạn có thể tăng/giảm con số này.

Sau khi repo sync hoàn tất, thư mục aosp/ của bạn sẽ chứa toàn bộ source Android 17 giống như những gì Google dùng để phát hành image chính thức (trừ phần binary proprietary cho từng thiết bị).

Build thử Android 17 trên AOSP

Tài liệu “Try Android development” trên AOSP gợi ý một quy trình build nhanh trên emulator Cuttlefish để làm quen với Android source tree hiện tại.

Bước 1: Chọn target với Lunch

Từ root thư mục AOSP:

source build/envsetup.sh
lunch aosp_cf_x86_64_only_phone-aosp_current-userdebug

Target aosp_cf_x86_64_only_phone-aosp_current-userdebug là cấu hình Cuttlefish x86_64 chỉ có phone, dành cho môi trường dev/test.

Bước 2: Build hệ thống

m

Hoặc:

m dist

để build thêm các artifact phân phối.

Thời gian build phụ thuộc cấu hình máy; lần đầu thường lâu hơn do phải biên dịch toàn bộ framework, ART, system app, kernel và image hệ thống Android 17.

Bước 3: Chạy trên Cuttlefish

Sau khi build xong, bạn có thể khởi chạy emulator Cuttlefish với image vừa build and bắt đầu debug, sửa code framework hoặc test app ở mức platform.

Một số lưu ý về bảo mật, CTS và tương thích Android 17

Android 17 đi kèm một loạt thay đổi về bảo mật, trong đó các lỗ hổng được tổng hợp chi tiết trong “Android 17 Security Release Notes”; bản vá source sẽ được đẩy dần lên AOSP như một phần của release.

Nếu bạn duy trì một fork riêng (ví dụ ROM hoặc nhánh cho thiết bị nội bộ), nên thường xuyên theo dõi security bulletin và merge patch kịp thời để tránh bị tụt hậu so với branch gốc.

Đồng thời, AOSP cung cấp bộ CTS (Compatibility Test Suite) dành cho Android 17 để kiểm tra tự động mức độ tương thích API, behavior và security của build mà bạn đang làm.

Trang “Permitted Version Strings for Android 17” liệt kê các giá trị android.os.Build.VERSION.RELEASE hợp lệ cho hệ thống dựa trên Android 17 – đây là cơ sở để kiểm tra và chứng nhận ROM hoặc thiết bị có tuân thủ chuẩn Android hay không.

Khi nào nên dùng source Android 17 cho dự án của bạn?

Việc nắm Android 17 source code trên AOSP mở ra khá nhiều kịch bản thực tế:

  • Nhà sản xuất thiết bị: dùng AOSP Android 17 làm nền tảng, thêm driver, HAL, app riêng rồi phát hành firmware chính thức.
  • ROM chef/cộng đồng: fork từ nhánh android-latest-release hoặc các tag Android 17, thêm tối ưu, theme, tính năng riêng và build custom ROM.
  • Framework/system dev: nghiên cứu, chỉnh sửa code trong frameworks/base, frameworks/native, system/* để thay đổi behavior hệ thống hoặc thêm API nội bộ.
  • Research/giảng dạy: sử dụng Android 17 AOSP làm case study về hệ điều hành di động, kiến trúc hệ thống lớn, build system, security và compatibility.

Nếu bạn chỉ viết app thông thường, có thể không cần đụng đến AOSP; nhưng nếu bạn muốn đi sâu vào nền tảng, tối ưu phần cứng, hoặc xây dựng trải nghiệm cấp hệ thống, Android 17 source code trên AOSP chính là “mã nguồn sự thật” để bắt đầu.

Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất