Bước tới nội dung

Android Nougat

Bách khoa toàn thư mở Wikipedia
(Đổi hướng từ Android 7.1)
Android Nougat
Một phiên bản của hệ điều hành Android
Màn hình chính Android Nougat với một vài ứng dụng Google gốc
Nhà phát triểnGoogle
Phát hành
rộng rãi
22 tháng 8 năm 2016; 8 năm trước (2016-08-22)[1]
Phiên bản
mới nhất
7.1.2_r39 (5787804)[2] / 4 tháng 10 năm 2019; 5 năm trước (2019-10-04)
Sản phẩm trướcAndroid 6.0.1 "Marshmallow"
Sản phẩm sauAndroid 8.0 "Oreo"
Website
chính thức
Website chính thức
Trạng thái hỗ trợ
Ngừng phát triển

Android 7.0 "Nougat" ( tên mã phát triển là Android N) là một phiên bản phát hành của hệ điều hành Android. Lần đầu được phát hành dưới dạng một bản dựng beta vào ngày 9 tháng 3 năm 2016,[3] nó đã được chính thức phát hành vào ngày 22 tháng 8 năm 2016, với các thiết bị Nexus được nhận bản cập nhật đầu tiên.[4]

Android 7.0 giới thiệu những thay đổi đáng chú ý tới hệ điều hành và nền tảng phát triển của nó, bao gồm khả năng hiển thị nhiều ứng dụng trên màn hình cùng một lúc bằng cách chia màn hình, hỗ trợ trả lời thông báo trực tiếp trong thẻ thông báo, cũng như một môi trường Java dựa trên OpenJDK và hỗ trợ hàm API vẽ đồ họa Vulkan, và cập nhật hệ thống "liên tục" trên các thiết bị được hỗ trợ. Đối với những dòng Google Pixel thì Android 7.0 đã lột xác về giáo diện màn hình chính

Lịch sử

[sửa | sửa mã nguồn]

Vào ngày 9 tháng 3 năm 2016, trước cả hội nghị nhà phát triển Google I/O, Google đã phát hành phiên bản beta đầu tiên của Android "N" như một phần của "Chương trình Android Beta" mới để thử nghiệm dành cho các nhà phát triển và những người tình nguyện trước khi phát hành chính thức vào "mùa hè này". Các bản dựng xem trước cho nhà phát triển chỉ tương thích với các thiết bị Google Nexus hiện tại; chiếc Nexus 5X, Nexus 6P, Nexus 6, Nexus 9, Pixel C, và Nexus Player. "Chương trình Android Beta" được giới thiệu là cho phép người thử nghiệm tham gia cập nhật OTA các phiên bản beta mới ngay khi chúng được phát hành.[3] Google thông báo rằng năm bản xem trước cho nhà phát triển của Android "N" sẽ được phát hành hàng tháng từ tháng 3 đến tháng 7 năm 2016.[cần dẫn nguồn]

Vào ngày 13 tháng 4 năm 2016, Bản xem trước Android N 2 đã được phát hành.[5]

Google tiếp tục thảo luận thêm về Android "N" trong bài phát biểu tại I/O vào ngày 18 tháng 5 năm 2016, và tiết lộ về nền tảng thực tế ảo mới của hãng Daydream. Trong thời gian hội nghị, Bản xem trước Beta 3 được phát hành, cùng với việc Google thông báo nó sẽ chuyển từ gia đoạn beta phát triển sang beta công khai, có nghĩa là bất cứ ai đều có thể dùng thử. Google cũng thông báo rằng hãng sẽ mở một cuộc thị để góp ý tưởng về cái tên phát hành cho hệ điều hành này.[6][7][8]

Bản xem trước Developer Preview 4 được phát hành ngày 15 tháng 6 năm 2016.[9][10] Vào ngày 30 tháng 6 năm 2016, Google thông báo rằng tên phát hành của Android N sẽ là "Nougat"; hãng cũng xác nhận rằng Nougat sẽ là phiên bản 7.0 của Android.[11][12][13]

Bản xem trước Beta cuối cùng Beta Preview, 5, được phát hành ngày 18 tháng 7 năm 2016.[14]

Android 7.0 Nougat được chính thức phát hành vào ngày 22 tháng 8 năm 2016, với các thiết bị Google Nexus Nexus 6, Nexus 5X, Nexus 6P, Nexus 9, Nexus Player, Pixel CGeneral Mobile 4G được nhận cập nhật đầu tiên.[4]

Tính năng

[sửa | sửa mã nguồn]

Trải nghiệm người dùng

[sửa | sửa mã nguồn]

Android N giới thiệu một chế độ hiển thị chia màn hình, trong đó hai ứng dụng có thể chạy cùng lúc, mỗi ứng dụng được hiển thị ở mỗi nửa màn hình. Một chế độ đa cửa sổ thử nghiệm cũng được thêm vào dưới dạng tính năng ẩn, trong đó nhiều ứng dụng có thể xuất hiện cùng lúc trên màn hình trong các cửa sổ chồng xếp lên nhau.[15]

Phần thông báo cũng được thiết kế lại, giới thiệu hàng biểu tượng cài đặt nhỏ hơn, thay thế các thẻ thông báo với thiết kế "sheet", và cho phép phản hồi thông báo trực tiếp (tính năng này được được thêm vào qua các API sẵn có được sử dụng cho chức năng tương tự trên Android Wear). Nhiều thông báo từ một ứng dụng cũng có thể được "gộp chung",[3] và người dùng được kiểm soát thông báo nhiều hơn cho mỗi ứng dụng.[16]

Cơ chế tiết kiệm năng lượng "Doze" được giới thiệu trong Marshmallow được mở rộng thêm một trạng thái được kích hoạt khi thiết bị đang dùng pin và màn hình đã tắt được một thời gian, nhưng không phải là không giữ nguyên. Trong trạng thái này, hoạt động mạng bị giới hạn, và các ứng dụng được cho phép "giữ nguyên cửa sổ", cho phép chúng truy cập vào mạng và tiến hành các tác vụ ngầm. Giống như Marshmallow, trạng thái Doze đầy đủ được kích hoạt nếu thiết bị giữ nguyên với màn hình đã tắt trong một khoảng thời gian.[3][17] Một chế độ "Data Saver" (Tiết kiệm dữ liệu) giới hạn sử dụng dữ liệu di động ngầm, và có thể kích hoạt các chức năng trong ứng dụng được thiết kế để giảm sử dụng dữ liệu, ví dụ như giảm chất lượng phương tiện trực tuyến.[17][18]

Nền tảng

[sửa | sửa mã nguồn]

Vào tháng 12 năm 2015, Google thông báo rằng Android Nougat sẽ chuyển JRE (Java Runtime Environment) của nó từ Apache Harmony đã không còn hoạt động nữa sang OpenJDK—phần thực hiện mã nguồn mở chính thức của nền tảng Java được duy trì bởi Oracle Corporation và cộng đồng Java.[19] Android Runtime (ART) nay có thêm hệ thống biên dịch hướng dẫn qua profile, sử dụng một trình biên dịch JITprofiling cùng với trình biên dịch AOT hiện tại có sẵn để tối ưu thêm các ứng dụng cho phần cứng của một thiết vị và các điều kiện ngầm khác.[17]

Nougat giới thiệu một hệ thống kích hoạt cập nhật "liên tục", tự động, vừa chia sẻ và dựa trên một số mã của chức năng tương tự trên Chrome OS. Hệ thống sử dụng một cặp phân vùng SquashFS; hệ thống Android thực thi từ một phân vùng "trực tuyến", trong khi các bản cập nhật được áp dụng dưới nền trong một phân vùng "ngoại tuyến" dôi dư. Trong lần khởi động tiếp theo sau quá trình cài đặt bản cập nhật, phân vùng dư sẽ được biểu thị là hoạt động, và từ lúc đó thiết bị sẽ khởi động vào hệ thống đã được cập nhật. Phân vùng hệ thống trước được giữ lại để sao lưu đề phòng khi cập nhật thất bại, và để phục vụ như phân vùng "ngoại tuyến" trong lần cập nhật tiếp theo. Hệ thống này loại bỏ yêu cầu thiết bị phải khởi động lại và môi trường khôi phục hệ thống để áp dụng bản cập nhật (khiến thiết bị không thể sử dụng được trong suốt thời gian cài đặt bản cập nhật), và cũng cho phép một bản cập nhật được tự động gỡ ra và quay lại phiên bản cũ trong trường hợp thất bại. Do yêu cầu phân vùng của hệ thống này, các thiết bị hiện tại sẽ không hỗ trợ cập nhật liên tục. Hơn nữa, do các thay đổi về ART trên Nougat, các ứng dụng không cần phải được biên dịch lại trong lần khởi động đầu tiên sau một bản cập nhật hệ thống nữa.[20][21]

Bản Developer Preview 2 đã thêm hỗ trợ nền tảng cho Vulkan,[5][22][23] API vẽ 3D cấp thấp mới để bổ sung cho OpenGL ES nhưng với hiệu suất đồ họa cao hơn.[24]

Hỗ trợ cho nền tảng VR Daydream được giới thiệu trong Nougat. Các tính năng bao gồm một "chế độ VR" để giảm độ trễ đồ họa,[25] một "chế độ duy trì hiệu suất" để hỗ trợ các nhà phát triển trong việc tối ưu hóa các ứng dụng cho một profile nhiệt của các thiết bị,[17] một thuật toán dò tìm đầu mới kết hợp dữ liệu nhập vào từ nhiều cảm biến thiết bị, và tích hợp thông báo hệ thống vào giao diện người dùng VR.[26]

Nougat là phiên bản đầu tiên hỗ trợ Unicode 9.0 và đi kèm với các emoji đã được cập nhật cộng với hỗ trọ màu da cho emoji.[27]

Bảo mật

[sửa | sửa mã nguồn]

Sau vụ lỗi bảo mật Stagefright được phát hiện và sửa chữa vào năm 2015, một vài thay đổi đã được thực hiện để củng cố lại hệ thống khỏi các mối đe dọa trong tương lai.[28] Một cơ chế phát hiện lỗi tràn số nguyên trong thời gian chạy được thêm vào để ngăn chặn phần lớn các lỗi lập trình tương tự như Stagefright trở thành mối đe dọa, bên cạnh việc giúp sửa và phòng ngừa các lỗi như vậy.[28] Tiến trình nguyên khối MediaServer của Android được thiết kế lại để tuân theo quy tắc ưu tiên tối thiểu. MediaServer nay được tách thành nhiều quá trình tách biệt, mỗi quá trình chạy trên sandbox không đặc quyền riêng của nó, và chỉ cho phép các quyền được yêu cầu cho tác vụ của nó. Ví dụ, chỉ có AudioServer mới có thể truy cập Bluetooth, và libstagefright nay chạy trong sandbox MediaCodecService, trong đó chỉ cấp quyền truy cập GPU. Các giới hạn lớn hơn được đặt thông qua seccomp.[28]

Một vài cơ chế được kích hoạt để giảm khả năng các mã độc có thể xâm nhập và/hoặc thực thi bên trong hạt nhân Linuxl, bao gồm chia bộ nhớ hạt nhân thành các phần riêng biệt cho mã và dữ liệu, với các quyền truy cập trang chỉ đọc và không thực thi được điều chỉnh cho phù hợp. Hạt nhân cũng bị giới hạn việc trực tiếp truy cập bộ nhớ không gian người dùng, và bảo vệ chồng xếp được kích hoạt trong trình biên dịch để giảm phá vỡ ngăn xếp.[29] Để giới hạn độ phơi nhiễm của hạt nhân với các mã độc, perf được vô hiệu hóa theo mặc định, các lệnh ioctl bị giới hạn bởi SELinux, và seccomp-bpf được kích hoạt để cấp quyền giới hạn các cuộc gọi hệ thống cho các quá trình.[29]

Trên các thiết bị được cài đặt sẵn Android Nougat, quy định "Verified Boot" (Khởi động Xác nhận—được giới thiệu một phần trên KitKat, và hiển thị thông báo khi khởi động trên Marshmallow) phải được thực thi. Nếu các tập tin hệ thống bị hư hỏng hoặc bị điều chỉnh lại, hệ điều hành sẽ chỉ cho phép các hoạt động trong một chế độ giới hạn sử dụng hoặc từ chối khởi động.[30][31]

Tương lai

[sửa | sửa mã nguồn]

Google nói rằng họ đang làm việc trên một bản phát hành bảo trì đầu tiên và một bản xem trước cho nhà phát triển sẽ được phát hành vào mùa thu (khoảng từ tháng 10 - tháng 12).[32] Các bản phát hành bảo trì này sẽ tiếp tục mang đến các cải tiến mới.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ “Android 7.0 Nougat. Made for you”. Google. Truy cập ngày 22 tháng 8 năm 2015.
  2. ^ “Android Source”. Google Git. Lưu trữ bản gốc ngày 4 tháng 6 năm 2020. Truy cập ngày 10 tháng 9 năm 2020.
  3. ^ a b c d Amadeo, Ron (ngày 10 tháng 3 năm 2016). “Surprise! The Android N Developer Preview is out right now”. Ars Technica. Condé Nast. Truy cập ngày 1 tháng 7 năm 2016.
  4. ^ a b “Android 7.0 Nougat: a more powerful OS, made for you”. Android Developers Blog. ngày 22 tháng 8 năm 2016. Truy cập ngày 23 tháng 8 năm 2016.
  5. ^ a b Burke, Dave (ngày 13 tháng 4 năm 2016). “Android N Developer Preview 2, out today!”. Android Developers blog. Google Inc. Truy cập ngày 5 tháng 6 năm 2016.
  6. ^ Savov, Vlad (ngày 18 tháng 5 năm 2016). “Google details Android N features ahead of late summer release”. The Verge. Vox Media. Truy cập ngày 1 tháng 7 năm 2016.
  7. ^ Kastrenakes, Jacob (ngày 18 tháng 5 năm 2016). “Google's latest Android N beta is meant for everyone”. The Verge. Vox Media. Truy cập ngày 1 tháng 7 năm 2016.
  8. ^ “Google launches Android N Developer Preview 3 with seamless updates and VR mode”. VentureBeat. Truy cập ngày 9 tháng 7 năm 2016.
  9. ^ Burke, Dave (ngày 15 tháng 6 năm 2016). “Android N APIs are now final, get your apps ready for Android N!”. Android Developers blog. Google Inc. Truy cập ngày 1 tháng 7 năm 2016.
  10. ^ Serrafero, Mario Tomás (ngày 15 tháng 6 năm 2016). “Android N Developer Preview 4 is Out! Final APIs and Play Publishing”. XDA Developers. Truy cập ngày 1 tháng 7 năm 2016.
  11. ^ “Android N name revealed: It's Nougat”. PC World. IDG. Truy cập ngày 30 tháng 6 năm 2016.
  12. ^ “Android 7.0 Nougat statue unveiled by Google”. PhoneArena. Truy cập ngày 30 tháng 6 năm 2016.
  13. ^ Gibbs, Samuel (ngày 1 tháng 7 năm 2016). “Nougat: Google's new Android name divides opinion”. The Guardian. Truy cập ngày 30 tháng 7 năm 2016.
  14. ^ “Android 7.0 Nougat Developer Preview 5 - the final preview - is available for download”. Android Police. 18 tháng 7 năm 2016. Truy cập ngày 19 tháng 7 năm 2016.
  15. ^ Amadeo, Ron (ngày 21 tháng 3 năm 2016). “This is Android N's freeform window mode”. Ars Technica. Condé Nast. Truy cập ngày 1 tháng 7 năm 2016.
  16. ^ “Android Nougat release date: when you'll get it and why you'll want it”. techradar. ngày 31 tháng 7 năm 2016. Truy cập ngày 9 tháng 8 năm 2016.
  17. ^ a b c d “Android N for Developers”. Android Developers. Google Inc. Bản gốc lưu trữ ngày 11 tháng 3 năm 2016. Truy cập ngày 10 tháng 3 năm 2016.
  18. ^ “Android: The Road to JIT/AOT Hybrid Compilation-Based Application User Experience”. software.intel.com. Intel Corporation. Truy cập ngày 15 tháng 7 năm 2016.
  19. ^ Amadeo, Ron (ngày 7 tháng 1 năm 2016). “Android N switches to OpenJDK, Google tells Oracle it is protected by the GPL”. Ars Technica. Condé Nast. Truy cập ngày 1 tháng 7 năm 2016.
  20. ^ “Android N seamless updates not coming to existing devices”. GSMArena. Truy cập ngày 9 tháng 7 năm 2016.
  21. ^ “Android N borrows Chrome OS code for "seamless" update installation”. Ars Technica. Truy cập ngày 9 tháng 7 năm 2016.
  22. ^ “Vulkan Graphics API”. Android Developers. Google Inc. Truy cập ngày 1 tháng 7 năm 2016.
  23. ^ Woods, Shannon (ngày 13 tháng 4 năm 2016). “Optimize, Develop, and Debug with Vulkan Developer Tools”. Android Developers blog. Google Inc. Truy cập ngày 1 tháng 7 năm 2016.
  24. ^ “Support and Release Notes - Developer Preview 2”. Android Developers. Google Inc. ngày 13 tháng 4 năm 2016. Truy cập ngày 14 tháng 4 năm 2016.
  25. ^ “Gear VRs for everyone! Google turns Android into a VR-ready OS: Daydream”. Ars Technica. Ars Technica. ngày 5 tháng 5 năm 2016. Truy cập ngày 4 tháng 8 năm 2016.
  26. ^ "VR at Google - Google I/O 2016". YouTube. Google. ngày 9 tháng 5 năm 2016. Truy cập ngày 4 tháng 8 năm 2016.
  27. ^ “Android N Developer Preview 2, out today!”. Android Developers Blog. Google. ngày 13 tháng 4 năm 2016. Truy cập ngày 5 tháng 8 năm 2016.
  28. ^ a b c “Hardening the media stack”. android-developers.blogspot.com. Google. Truy cập ngày 3 tháng 8 năm 2016.
  29. ^ a b “Protecting Android with more Linux kernel defenses”. security.googleblog.com. Google. Truy cập ngày 3 tháng 8 năm 2016.
  30. ^ “Android Nougat won't boot your phone if its software is corrupt”. Engadget. AOL. Truy cập ngày 20 tháng 7 năm 2016.
  31. ^ “Android 7.0 devices could be harder to root, won't boot at all if the software is corrupt”. PhoneArena. Truy cập ngày 20 tháng 7 năm 2016.
  32. ^ “Android Developers Blog: Taking the final wrapper off of Android 7.0 Nougat”. Truy cập 22 tháng 9 năm 2024.

Liên kết ngoài

[sửa | sửa mã nguồn]