Tin tức về sản phẩm

Bản thử nghiệm thứ tư của Android 17

Đọc trong 4 phút
Daniel Galpin
Người hỗ trợ nhà phát triển

Android 17 đã đạt đến bản beta 4, bản beta theo lịch trình cuối cùng của chu kỳ phát hành này, một cột mốc quan trọng đối với khả năng tương thích của ứng dụng và độ ổn định của nền tảng. Cho dù bạn đang tinh chỉnh trải nghiệm người dùng của ứng dụng, đảm bảo quá trình kết xuất tràn viền diễn ra suôn sẻ hay tận dụng các API mới nhất, thì Beta 4 đều cung cấp môi trường gần như hoàn chỉnh mà bạn cần để kiểm thử. 

Chuẩn bị sẵn sàng các ứng dụng, thư viện, công cụ và công cụ phát triển trò chơi!

Nếu phát triển một SDK Android, thư viện, công cụ hoặc công cụ phát triển trò chơi, thì bạn cần chuẩn bị mọi bản cập nhật cần thiết ngay bây giờ để ngăn chặn các vấn đề về khả năng tương thích gây cản trở nhà phát triển ứng dụng và trò chơi cấp dưới, đồng thời cho phép họ nhắm đến các tính năng mới nhất của SDK. Vui lòng cho các nhà phát triển cấp dưới biết nếu cần cập nhật để hỗ trợ đầy đủ Android 17.

Android17_Timeline_01_V02.png

Thử nghiệm bao gồm việc cài đặt ứng dụng phát hành công khai hoặc ứng dụng thử nghiệm sử dụng thư viện hoặc công cụ của bạn thông qua Google Play hoặc các phương tiện khác vào một thiết bị hoặc trình mô phỏng chạy Android 17 Beta 4. Thực hiện tất cả quy trình của ứng dụng và tìm các vấn đề về chức năng hoặc giao diện người dùng. Mỗi bản phát hành Android đều có những thay đổi về nền tảng giúp cải thiện quyền riêng tư, bảo mật và trải nghiệm người dùng nói chung; hãy xem xét những thay đổi về hành vi ảnh hưởng đến ứng dụng đối với các ứng dụng chạy trênnhắm đến Android 17 để tập trung vào hoạt động kiểm thử, bao gồm cả những thay đổi sau:

  • Khả năng đổi kích thước trên màn hình lớn: Sau khi nhắm đến Android 17, bạn sẽ không thể chọn không duy trì các ràng buộc về hướng, khả năng đổi kích thước và tỷ lệ khung hình trên màn hình lớn.
  • Tải mã động: Nếu ứng dụng của bạn nhắm đến Android 17 trở lên, thì tính năng bảo vệ Tải mã động (DCL) an toàn hơn ra mắt trong Android 14 cho các tệp DEX và JAR hiện đã mở rộng sang các thư viện gốc. Tất cả các tệp gốc được tải bằng System.load() đều phải được đánh dấu là chỉ đọc. Nếu không, hệ thống sẽ gửi UnsatisfiedLinkError.
  • Bật CT theo mặc định: Tính minh bạch của chứng chỉ (CT) được bật theo mặc định. (Trên Android 16, CT có sẵn nhưng các ứng dụng phải chọn sử dụng.)
  • Các biện pháp bảo vệ mạng cục bộ: Theo mặc định, các ứng dụng nhắm đến Android 17 trở lên sẽ bị chặn quyền truy cập vào mạng cục bộ. Chuyển sang sử dụng trình chọn bảo đảm quyền riêng tư nếu có thể và sử dụng quyền ACCESS_LOCAL_NETWORK mới để truy cập rộng rãi và liên tục.
  • Tăng cường bảo mật âm thanh ở chế độ nền: Kể từ Android 17, khung âm thanh sẽ thực thi các quy tắc hạn chế đối với hoạt động tương tác âm thanh ở chế độ nền, bao gồm cả việc phát âm thanh, yêu cầu quyền phát âm thanh và API thay đổi âm lượng. Dựa trên ý kiến phản hồi của bạn, chúng tôi đã thực hiện một số thay đổi kể từ bản thử nghiệm 2, bao gồm cả việc hạn chế targetSDK trong quá trình thực thi FGS khi đang sử dụng và miễn trừ âm thanh báo thức. Bạn có thể xem toàn bộ thông tin chi tiết trong hướng dẫn mới.

Hạn mức bộ nhớ của ứng dụng

Android sẽ giới thiệu giới hạn bộ nhớ ứng dụng dựa trên tổng RAM của thiết bị để tạo một môi trường ổn định và có thể xác định hơn cho các ứng dụng và người dùng Android. Trong Android 17, các hạn mức được đặt một cách thận trọng để thiết lập các đường cơ sở của hệ thống, nhắm đến các rò rỉ bộ nhớ cực đoan và các giá trị ngoại lệ khác trước khi chúng gây ra tình trạng bất ổn trên toàn hệ thống, dẫn đến hiện tượng giật giao diện người dùng, mức tiêu hao pin cao hơn và ứng dụng bị tắt. Mặc dù chúng tôi dự đoán rằng thay đổi này sẽ có tác động tối thiểu đến phần lớn các phiên hoạt động của ứng dụng, nhưng bạn nên làm theo các phương pháp hay nhất về bộ nhớ, bao gồm cả việc thiết lập một đường cơ sở cho bộ nhớ.

Trong quá trình triển khai hiện tại, getDescription trong ApplicationExitInfo sẽ chứa chuỗi "MemoryLimiter" nếu ứng dụng của bạn bị ảnh hưởng. Bạn cũng có thể sử dụng hồ sơ dựa trên trình kích hoạt bằng TRIGGER_TYPE_ANOMALY để nhận các kết xuất heap được thu thập khi đạt đến hạn mức bộ nhớ.

unnamed (2).png
Tác vụ LeakCanary trong Trình phân tích tài nguyên của Android Studio

Để giúp bạn tìm ra các rò rỉ bộ nhớ, Android Studio Panda bổ sung tính năng tích hợp LeakCanary ngay trong Trình phân tích tài nguyên Android Studio dưới dạng một tác vụ chuyên dụng, được đặt trong bối cảnh trong IDE và tích hợp hoàn toàn với mã nguồn của bạn.

Mức sử dụng bộ nhớ nhỏ hơn giúp hiệu suất mượt mà hơn, thời lượng pin lâu hơn và trải nghiệm cao cấp trên mọi hệ số hình dạng. Hãy cùng nhau xây dựng một tương lai nhanh chóng và đáng tin cậy hơn cho hệ sinh thái Android!

Kích hoạt lập hồ sơ cho các điểm bất thường của ứng dụng

Android giới thiệu một dịch vụ phát hiện điểm bất thường trên thiết bị để theo dõi các hành vi tiêu tốn nhiều tài nguyên và các vấn đề tương thích tiềm ẩn. Được tích hợp với ProfilingManager, dịch vụ này cho phép ứng dụng của bạn nhận được các cấu phần phần mềm lập hồ sơ do các sự kiện cụ thể mà hệ thống phát hiện kích hoạt.

Sử dụng trình kích hoạt TRIGGER_TYPE_ANOMALY để phát hiện các vấn đề về hiệu suất hệ thống, chẳng hạn như số lượng lệnh gọi liên kết quá mức và mức sử dụng bộ nhớ quá mức. Khi một ứng dụng vượt quá giới hạn bộ nhớ do hệ điều hành xác định, trình kích hoạt bất thường sẽ cho phép nhà phát triển nhận được các tệp báo lỗi dành riêng cho ứng dụng để giúp xác định và khắc phục các vấn đề về bộ nhớ. Ngoài ra, đối với tình trạng liên kết rác quá mức, trình kích hoạt bất thường sẽ cung cấp một hồ sơ lấy mẫu ngăn xếp về các giao dịch liên kết.

Lệnh gọi lại API này xảy ra trước khi có bất kỳ quy trình thực thi nào do hệ thống áp đặt. Ví dụ: nó có thể giúp nhà phát triển thu thập dữ liệu gỡ lỗi trước khi ứng dụng bị hệ thống chấm dứt do vượt quá giới hạn bộ nhớ. Để hiểu cách sử dụng trình kích hoạt, hãy xem tài liệu của chúng tôi về lập hồ sơ dựa trên trình kích hoạt.

    val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java)
    val triggers = ArrayList<ProfilingTrigger>()  
    triggers.add(ProfilingTrigger.Builder(
                 ProfilingTrigger.TRIGGER_TYPE_ANOMALY))
    val mainExecutor: Executor = Executors.newSingleThreadExecutor()
    val resultCallback = Consumer<ProfilingResult> { profilingResult ->
        if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) {
            // upload profile result to server for further analysis          
            setupProfileUploadWorker(profilingResult.resultFilePath)
        } 
    profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback)
    profilingManager.addProfilingTriggers(triggers)
}

Mật mã học hậu lượng tử (PQC) trong Kho khoá Android

Kho khoá Android thêm tính năng hỗ trợ cho ML-DSA (Thuật toán chữ ký số dựa trên mô-đun mạng tinh thể) được chuẩn hoá theo NIST. Trên các thiết bị được hỗ trợ, bạn có thể tạo khoá ML-DSA và dùng khoá đó để tạo chữ ký an toàn trước các cuộc tấn công lượng tử, hoàn toàn trong phần cứng bảo mật của thiết bị. Kho khoá Android cung cấp các biến thể thuật toán ML-DSA-65 và ML-DSA-87 thông qua các API Java Cryptographic Architecture tiêu chuẩn: KeyPairGenerator, KeyFactorySignature. Để biết thêm thông tin chi tiết, hãy xem tài liệu dành cho nhà phát triển của chúng tôi.

KeyPairGenerator generator = KeyPairGenerator.getInstance(
        ML-DSA-65, "AndroidKeyStore");
generator.initialize(
        new KeyGenParameterSpec.Builder(
                my-key-alias,
                KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
        .build());
KeyPair keyPair = generator.generateKeyPair();

Bắt đầu với Android 17

Bạn có thể đăng ký mọi thiết bị Pixel được hỗ trợ để nhận bản cập nhật này và các bản cập nhật Android Beta trong tương lai qua mạng không dây. Nếu không có thiết bị Pixel, bạn có thể sử dụng ảnh hệ thống 64 bit với Trình mô phỏng Android trong Android Studio.

Nếu đang tham gia chương trình Thử nghiệm Android, bạn sẽ nhận được bản cập nhật lên Beta 4 qua mạng không dây.

Tiếp tục báo cáo vấn đề và gửi yêu cầu về tính năng trên trang phản hồi. Chúng tôi nhận được ý kiến phản hồi của bạn càng sớm thì càng có thể đưa nhiều ý kiến đó vào bản phát hành chính thức.

Để có trải nghiệm phát triển tốt nhất với Android 17, bạn nên sử dụng bản xem trước mới nhất của Android Studio (Panda). Sau khi thiết lập, bạn nên làm một số việc sau:

  • Biên dịch theo SDK mới, kiểm thử trong môi trường CI và báo cáo mọi vấn đề trong công cụ theo dõi của chúng tôi trên trang ý kiến phản hồi.
  • Kiểm thử khả năng tương thích của ứng dụng hiện tại, tìm hiểu xem ứng dụng của bạn có bị ảnh hưởng bởi các thay đổi trong Android 17 hay không, đồng thời cài đặt ứng dụng của bạn vào một thiết bị hoặc trình mô phỏng chạy Android 17 và kiểm thử kỹ lưỡng.

Chúng tôi sẽ thường xuyên cập nhật hình ảnh hệ thống beta/bản xem trước và SDK trong suốt vòng đời phát hành Android 17. Sau khi cài đặt bản dựng beta, bạn sẽ tự động nhận được các bản cập nhật trong tương lai qua mạng không dây cho tất cả các bản dùng thử và bản beta sau này.

Để biết thông tin đầy đủ, hãy truy cập vào trang web dành cho nhà phát triển Android 17.

Tham gia cuộc trò chuyện

Ý kiến phản hồi của bạn vẫn là tài sản quý giá nhất của chúng tôi. Dù bạn là người dùng sớm trên kênh Canary hay là nhà phát triển ứng dụng đang thử nghiệm trên phiên bản Beta 4, hãy cân nhắc tham gia cộng đồng của chúng tôi và gửi ý kiến phản hồi. Chúng tôi luôn lắng nghe.

Tác giả:

Tiếp tục đọc