Hỗ trợ ứng dụng trên thiết bị ChromeOS

Bạn có thể sử dụng Cửa hàng Google Play để cài đặt các ứng dụng Android trên một số máy Chromebook Google. Tài liệu này mô tả Chromebook, Chromebox và Chromebase mà bạn có thể cài đặt các ứng dụng Android.

Tổng quan

Hầu hết điện thoại Android đều có chipset ARM. Tuy nhiên, nhiều thiết bị ChromeOS sử dụng chip x86. Sự khác biệt này không quan trọng đối với các ứng dụng cơ bản được viết bằng Kotlin hoặc Java. Tuy nhiên, đối với các ứng dụng được viết bằng mã gốc, bao gồm cả những ứng dụng được tạo bằng công cụ phát triển trò chơi, chipset trong thiết bị có thể là một mối quan tâm quan trọng.

Tốt nhất là tất cả ứng dụng và trò chơi có mã gốc đều đi kèm với cả 4 ABI (Giao diện nhị phân của ứng dụng) chính của Android: armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32) và x86_64. Tính năng này mang lại hiệu suất tốt nhất và mức tiêu thụ pin thấp nhất cho từng thiết bị. Ví dụ: tệp build.gradle dựa trên cmake có thể chứa:

Groovy

externalNativeBuild {
    cmake {
        abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
    }
}

Kotlin

externalNativeBuild {
    cmake {
        abiFilters("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
    }
}

Kích thước Bộ gói Android (APK)

Mỗi ABI trong một APK nguyên khối đều tăng kích thước. Điều này có thể ảnh hưởng đến mức sử dụng ổ đĩa của người dùng, kích thước tải xuống của ứng dụng và việc ứng dụng có bị ảnh hưởng bởi các giới hạn về kích thước của Cửa hàng Play hay không. Cách tốt nhất để tránh tình trạng này là sử dụng Android App Bundle.

Gói ứng dụng cho phép bạn dễ dàng nhóm cả 4 ABI từ trong Android Studio mà không làm tăng kích thước tải xuống cho người dùng. Các định dạng này cũng giúp bạn dễ dàng tận dụng tính năng Phân phối động, cho phép người dùng chỉ tải nội dung trò chơi có dung lượng lớn xuống khi được yêu cầu. Nếu không muốn dùng Gói ứng dụng, bạn có thể sử dụng nhiều tệp APK cũ cho hành vi tương tự.

Bản dựng 32 bit và 64 bit

Tất cả ứng dụng Android đều phải cung cấp phiên bản bản dựng 64 bit. Bạn không bắt buộc phải sử dụng bản dựng 32 bit cho cả thiết bị ARM và x86. Xem tài liệu về Android 64 bit⁠ để biết thêm thông tin.

Tuy việc chỉ cung cấp bản dựng 64 bit làm giảm số lượng mục tiêu bản dựng cần thiết và nền tảng kiểm thử, nhưng việc này cũng hạn chế các loại thiết bị có thể chạy trò chơi của bạn. Ví dụ: do các hạn chế khác về phần cứng, nhiều Chromebook cũ chỉ có thể chạy các ứng dụng Android 32 bit, mặc dù có CPU 64 bit. Để đảm bảo ứng dụng của bạn có thể chạy trên các thiết bị này, hãy thêm tính năng hỗ trợ cả phiên bản 32 và 64 bit.

Dịch bằng ARM

Chromebook x86 cố gắng dịch mã ARM bất cứ khi nào có thể, nhưng việc dịch sẽ làm chậm hiệu suất và tăng mức sử dụng pin. Để có trải nghiệm người dùng tốt nhất, hãy cung cấp các bản dựng x86. Nếu bạn không thể, hãy đưa cả ABI arm32 và arm64 vào bản dựng vì một số Chromebook x86 có thể không dịch mã arm64 được.

Mặc dù tính năng dịch arm32 có trên tất cả các Chromebook hỗ trợ Android, nhưng không phải Chromebook nào cũng có thể dịch mã arm64. Tức là nếu trò chơi của bạn chỉ có mục tiêu bản dựng arm64, thì nhiều thiết bị ChromeOS sẽ không sử dụng được trò chơi đó. Nếu bạn không thể gửi tệp nhị phân x86, hãy đưa cả ABI arm32 và arm64 vào bản dựng.

ABI đi kèm Hỗ trợ ChromeOS
arm64 Kém
arm32 và arm64 OK (có bản dịch)
arm32, arm64, x86_32 và x86_64 Trân trọng!