Game Studio
Liên kế mạng xã hội



Google giới thiệu phiên bản Beta đầu tiên cho Android Q

Google ngày hôm nay đã ra mắt Android Q Beta 1, các nhà phát triển có thể download phiên bản này tại google.com/android/beta. Bản beta đầu tiên này đi kèm với các system images của Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL và Android Emulator chính thức.

Đây là lần thứ tư Google phát hành bản developer preview cho các nhà phát triển vào tháng 3 - các phiên bản trước được phát hành vào tháng 3 bao gồm Android N (sau này được đặt tên là Android Nougat), Android O (Android Oreo) và Android P (Android Pie). Và trong hai năm qua, Google đã không còn sử dụng Chương trình Android Beta - chương trình cho phép các nhà phát triển nhận được các bản build Android sớm nhất thông qua cập nhật OTA. Điều đó có nghĩa là bất cứ ai cũng có thể thử nghiệm Android Q. 

Cũng giống như các phiên bản trước đây, phiên bản beta này sẽ được gọi là Android Q cho đến khi Google chọn ra một cái tên chính thức bắt đầu bằng chữ Q.

Nhiều khả năng Google sẽ vẫn giữ nguyên truyền thống phát hành của họ, tức là Google sẽ đợi cho đến khi phát hành phiên bản developer preview thứ 2 thì mới cho phép Android Q hỗ trợ nhiều loại điện thoại hơn. Mặt dù vậy, nếu xét về số lượng thiết bị hỗ trợ ban đầu thì phiên bản Android Q đầu tiên hỗ trợ cho nhiều điện thoại hơn (đến 6 điện thoại Pixels).

Với Android P, tính năng nổi bật nhất trong bản developer preview đầu tiên của nó là hỗ trợ cho điện thoại có màn hình "tai thỏ" cũng như các biến thể tương tự khác của "tai thỏ". Đối với Android Q, phiên bản này hỗ trợ cho các điện thoại có khả năng gập lại.

Tóm gọn thì đây là những điểm nổi bật đầu tiên của Android Q beta: bổ sung, cải thiện cho các tính năng bảo mật và quyền riêng tư; hỗ trợ cho các điện thoại có khả năng gập lại; các API kết nối mới; các media codecs mới; các khả năng mới cho camera; NNAPI extensions; hỗ trợ Vulkan 1.1 và tăng tốc độ khởi động ứng dụng.

Cụ thể hơn:

  • Device location: Cung cấp cho người dùng quyền kiểm soát nhiều hơn khi ứng dụng muốn nhận biết vị trí, kể cả khi ứng dụng không được sử dụng (trong nền). Người dùng sẽ có thể cấp cho ứng dụng quyền xem vị trí của họ theo các hướng: không bao giờ, chỉ khi ứng dụng đang được sử dụng (đang chạy) hoặc mọi lúc (khi ở chế độ nền).

  • Scoped storage: Cho phép kiểm soát nhiều hơn đối với quyền truy cập vào các file được chia sẻ. Người dùng sẽ có thể kiểm soát nhiều hơn các truy cập vào Photos, Videos, và Audio của ứng dụng thông qua các quyền runtime mới. Đối với thư mục Downloads, ứng dụng phải sử dụng trình chọn của hệ thống - vì nó cho phép người dùng quyết định file được Download nào mà ứng dụng có thể truy cập. Các nhà phát triển cũng sẽ phải thay đổi cách thức mà các ứng dụng truy cập vào các khu vực được chia sẻ trên bộ nhớ ngoài (SD cards).
  • Background activity starts: Tính năng này sẽ giúp hạn người dùng chế các gián đoạn không mong muốn, ví dụ như khi đang sử dụng thì bất ngờ một ứng dụng không mong muốn hiển thị ra foreground và chiếm lấy màn hình. Trong Android Q, ứng dụng sẽ bị ngăn không cho khởi chạy một Activity khi nó đang ở chế độ nền. Tuy nhiên, các nhà phát triển sẽ vẫn có thể làm điều này (bất ngờ hiển thị ra foreground như các cuộc gọi đến hoặc các cảnh báo quan trọng) - bằng notification ưu tiên cao hoặc chủ định hiển thị ứng dụng ra toàn màn hình.
  • User data IDs: Hạn chế quyền truy cập vào các chỉ số nhận dạng thiết bị, bao gồm số IMEI của thiết bị, số sê-ri và các số nhận dạng tương tự. Và theo mặc định, Android Q sẽ chọn ngẫu nhiên địa chỉ MAC của thiết bị khi được kết nối với các mạng Wi-Fi khác nhau (tính năng này là tùy chọn trong Android 9 Pie).
  • Hỗ trợ nhiều hơn cho các màn hình gập và các màn hình sáng tạo khác: Ứng dụng sẽ có thể tận dụng tốt hơn các thiết bị này và các thiết bị màn hình lớn khác để hiển thị. Một số thay đổi dành cho onResume và onPause để hỗ trợ cho multi-resume và notification của ứng dụng khi nó đang được sử dụng. Thuộc tính resizeableActivity sẽ giúp bạn quản lý tốt hơn cách thức mà ứng dụng của bạn được hiển thị trên các màn hình lớn cũng như các màn hình gập.

  • Sharing shortcuts: Sharing Shortcuts (cho phép người dùng nhảy trực tiếp vào một ứng dụng khác để chia sẻ nội dung) đang ngày càng nhanh hơn. Các nhà phát triển có thể xuất bản các share targets mà có thể khởi chạy một hoạt động cụ thể trong ứng dụng của họ với nội dung được đính kèm. Vì Sharing Shortcuts hoạt động tương tự như App Shortcuts, nên các ShortcutInfo API giờ đã tích hợp cả hai và được hỗ trợ trong thư viện ShareTarget AndroidX mới (sample app tại đây).

  • Settings Panel: Hiển thị các cài đặt hệ thống quan trọng ngay trong ứng dụng. Settings Panel API mới sẽ sử dụng tính năng Slices được giới thiệu trong Android 9 Pie để cung cấp cho người dùng một giao diện nổi với các cài đặt hệ thống có liên quan (như Wi-Fi, chế độ máy bay, dữ liệu di động, NFC và âm lượng âm thanh). Giúp cho người dùng có thể thiết lập dễ dàng mà không cần phải rời khỏi ứng dụng.
  • Quyền kết nối, quyền riêng tư và bảo mật: Đối với Bluetooth, mạng di động và Wi-Fi, quyền truy FINE location sẽ được yêu cầu. Hỗ trợ tiêu chuẩn Wi-Fi, WP3 và OWE, cũng sẽ được đưa vào để cải thiện bảo mật cho mạng gia đình và cơ quan cũng như mạng mở/công cộng.
  • Cải thiện cho các kết nối ngang hàng và kết nối internet: Ngăn xếp của Wi-Fi đã được chỉnh sửa lại để cải thiện quyền riêng tư, hiệu suất và các trường hợp sử dụng phổ biến như quản lý thiết bị IoT và đề xuất kết nối internet. Các API kết nối mạng sẽ giúp các ứng dụng thực hiện các yêu cầu kết nối một cách gián tiếp bằng cách chỉ định các SSID & BSSID yêu thích như WiFiNetworkSpecifier. Các API gợi ý mạng sẽ cho phép các ứng dụng khởi tạo kết nối một cách gián tiếp bằng cách cung cấp danh sách xếp hạng các mạng và thông tin đăng nhập dưới dạng WifiNetworkSuggestions. Android Q cũng sẽ tự xử lý việc quét Wi-Fi, hiển thị các mạng phù hợp trong Wi-Fi Picker và kết nối dựa trên hiệu suất kết nối trong quá khứ.
  • Wi-Fi performance mode: 2 chế độ là High performance mode và Low latency mode sẽ cho phép các nhà phát triển yêu cầu Wi-Fi bằng cách gọi WifiManager.WifiLock.createWifiLock() với WIFI_MODE_FULL_LOW_LATENCY hoặc WIFI_MODE_FULL_HIGH_PERF. Google hy vọng những thứ này sẽ hữu ích cho các hoạt động như chơi game thời gian thực, các cuộc gọi video và các trường hợp sử dụng tương tự.
  • Định dạng Dynamic depth cho hình ảnh: Ứng dụng có thể yêu cầu một hình ảnh Dynamic Depth mà có các JPEG, XMP metadata liên quan đến các yếu tố về độ sâu của ảnh. Yêu cầu một hình ảnh với JPEG + Dynamic Depth sẽ giúp nhà phát triển có thể cung cấp các hiệu ứng làm mờ chuyên dụng như blurs hay bokeh, hoặc sử dụng dữ liệu để tạo hình ảnh 3D và hỗ trợ các trường hợp sử dụng chụp ảnh AR. Dynamic Depth sẽ là một định dạng mở mới cho hệ sinh thái Android.

  • Bộ audio và video codecs mới: Hỗ trợ cho video codec AV1, mã hóa âm thanh bằng Opus và HDR10+ cho video. MediaCodecInfo API sẽ giúp xác định khả năng rendering video của thiết bị Android (sử dụng VideoCodecCapabilities.getSupportedPerformancePoints() để lấy danh sách các kích thước và tốc độ khung hình được hỗ trợ).
  • Native MIDI API: API này cho phép các ứng dụng thực hiện xử lý các giao tiếp âm thanh trong C++ với các thiết bị MIDI thông qua NDK. Nó cho phép dữ liệu MIDI được truy xuất bên trong một audio callback bằng cách sử dụng non-blocking read, cho phép xử lý các thông tin MIDI có độ trễ thấp (sample app tại đây).
  • ANGLE on Vulkan: Android Q hiện đang hỗ trợ thử nghiệm cho ANGLE, cho phép các ứng dụng và game sử dụng OpenGL ES có thể tận dụng hiệu suất và tính ổn định của Vulkan. Android Q sẽ hỗ trợ OpenGL ES 2.0, ES 3.0 có thể sẽ được hỗ trợ trong phiên bản tiếp theo.
  • Vulkan: Google đang hợp tác với các đối tác là các nhà sản xuất thiết bị để đưa Vulkan 1.1 thành "bắt buộc" đối với tất cả các thiết bị 64-bit chạy Android Q hoặc cao hơn, và "đề xuất" đối với các thiết bị 32-bit. Do đó, Vulkan sẽ sớm trở thành một API đồ họa cho tất cả các ứng dụng và game của Android trong tương lai.
  • Neural Networks API 1.2: 60 tùy chọn mới bao gồm ARGMAX, ARGMIN, LSTM được lượng tử hóa, cùng với một loạt các tối ưu hóa về hiệu suất. Điều này sẽ tăng tốc một loạt các mô hình lớn hơn - chẳng hạn như các mô hình để phát hiện đối tượng và phân đoạn hình ảnh. Google đang làm việc với các nhà cung cấp phần cứng và machine learning frameworks nổi tiếng như TensorFlow để tối ưu hóa và triển khai hỗ trợ cho NNAPI 1.2.
  • ART: Cải tiến cho ART runtime để giúp ứng dụng khởi động nhanh hơn và tiêu thụ ít bộ nhớ hơn. Garbage collection tổng thể cũng sẽ làm việc hiệu quả hơn và giúp các ứng dụng chạy tốt hơn trên các thiết bị cấp thấp hơn.
  • BiometricPrompt đã được mở rộng cho các phương thức xác thực thụ động như nhận dạng khuôn mặt. Google cũng đã cải thiện fallback cho các thông tin đăng nhập thiết bị khi cần thiết.
  • Hỗ trợ TLS 1.3 đã được bổ sung và bật theo mặc định cho tất cả các kết nối TLS. Google cho biết các điểm chuẩn sẽ chỉ ra các kết nối an toàn cũng như thiết lập nhanh hơn tới 40% so với TLS 1.2.
  • Khả năng tương thích thông qua các public APIs: Google đang hạn chế quyền truy cập vào các giao diện non-SDK hơn và yêu cầu các nhà phát triển sử dụng các công cụ công khai. Các hạn chế chỉ dành cho các ứng dụng được targeting cho Android Q, vì vậy hãy đảm bảo bạn sẽ để mắt đến điều này. Sử dụng phương thức StrictMode detectNonSdkApiUsage() để cảnh báo khi ứng dụng của bạn truy cập vào các API non-SDK.
  • Modern Android: Google Play sẽ yêu cầu targetSdkVersion được đặt là 28 (Android 9 Pie) trong các ứng dụng mới và các bản cập nhật mới vào cuối năm nay. Android Q sẽ cảnh báo người dùng bằng hộp thoại khi lần đầu tiên họ chạy một ứng dụng được đặt targeting cho nền tảng thấp hơn API level 23 (Android Marshmallow). Cũng vào cuối năm nay, Google Play sẽ yêu cầu hỗ trợ 64-bit trong tất cả các ứng dụng (hướng dẫn dành cho nhà phát triển).

Mục tiêu của phiên bản beta đầu tiên này là cho phép người dùng và nhà phát triển sớm tiếp cận với Android Q, để họ có thể khám phá các tính năng và API mới cho các ứng dụng, kiểm tra tính tương thích và đưa ra phản hồi trước khi Google chia sẻ chi tiết về nó tại I/O 2019, dự kiến từ ngày 7 đến ngày 9 tháng 5. Nhiều tính năng và khả năng mới sẽ được phát hành trong các bản beta tiếp theo.

Google cũng khuyến khích các nhà phát triển làm cho ứng dụng của họ tương thích với Android Q để người dùng có thể mong đợi một sự chuyển đổi liền mạch khi họ nâng cấp. Nếu bạn tìm thấy bất kỳ lỗi gì, bạn có thể báo cáo chúng tại đây.