Bắt đầu tạo ứng dụng cho ChromeOS

Các thiết bị ChromeOS (chẳng hạn như Chromebook) có hỗ trợ Cửa hàng Google Play và Ứng dụng Android. Bài viết này giả định rằng bạn đang có một ứng dụng Android được thiết kế cho điện thoại hoặc máy tính bảng mà bạn muốn tối ưu hoá cho Chromebook. Để tìm hiểu những thông tin cơ bản về cách tạo ứng dụng Android, hãy xem bài viết Tạo ứng dụng Android đầu tiên ứng dụng.

Cập nhật tệp kê khai của ứng dụng

Để bắt đầu, hãy cập nhật tệp kê khai của bạn cho tài khoản đối với một số phần cứng và phần cứng chính sự khác biệt về phần mềm giữa Chromebook và các thiết bị khác chạy Android.

Kể từ ChromeOS phiên bản M53, tất cả ứng dụng Android không yêu cầu android.hardware.touchscreen cũng hoạt động trên thiết bị ChromeOS hỗ trợ android.hardware.faketouch. Tuy nhiên, để đảm bảo ứng dụng của bạn hoạt động được trên tất cả Chromebook, hãy cập nhật tệp kê khai để Tính năng android.hardware.touchscreen là không bắt buộc, như minh hoạ trong ví dụ sau.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          ... >
    <!-- Some Chromebooks don't support touch. Although not essential,
         it's a good idea to explicitly include this declaration. -->
    <uses-feature android:name="android.hardware.touchscreen"
                  android:required="false" />
</manifest>

Các thiết bị phần cứng khác nhau được trang bị các bộ cảm biến khác nhau và Chromebook có thể không có tất cả các cảm biến có trong thiết bị cầm tay Android, như GPS và gia tốc kế. Tuy nhiên, trong một số trường hợp chức năng của cảm biến được cung cấp theo một cách khác. Ví dụ: Chromebook có thể không có cảm biến GPS nhưng cung cấp dữ liệu vị trí dựa trên kết nối Wi-Fi. Hãy xem bài viết tổng quan về cảm biến để tìm hiểu tìm hiểu thêm về các cảm biến mà nền tảng Android hỗ trợ.

Nếu bạn muốn ứng dụng của mình chạy trên Chromebook bất kể có cảm biến hay không, hãy cập nhật tệp kê khai để không cần cảm biến.

Một số tính năng của phần mềm không được hỗ trợ trên Chromebook. Ví dụ: các ứng dụng cung cấp các IME tuỳ chỉnh, tiện ích ứng dụng, hình nền động và trình chạy ứng dụng không được hỗ trợ và không thể cài đặt trên Chromebook. Để xem danh sách đầy đủ các tính năng phần mềm không được hỗ trợ trên Chromebook, hãy xem phần không tương thích các tính năng của phần mềm.

Cập nhật SDK mục tiêu

Cập nhật targetSdkVersion của ứng dụng cho cấp độ API mới nhất hiện có để tận dụng tất cả những cải tiến trong nền tảng Android. Xem xét những điểm cải tiến trong Android nền tảng thông qua các phiên bản khác nhau.

Kiểm tra các yêu cầu kết nối mạng

Chromebook chạy toàn bộ hệ điều hành Android trong một vùng chứa, tương tự như Docker hoặc LXC. Điều này có nghĩa là Android không có quyền truy cập trực tiếp vào mạng LAN của hệ thống . Thay vào đó, lưu lượng truy cập IPv4 đi qua một lớp mạng nội bộ dịch địa chỉ (NAT) và lưu lượng truy cập unicast IPv6 được định tuyến thông qua nhảy.

Chủ yếu là kết nối unicast đi từ ứng dụng Android đến Internet hoạt động như nguyên trạng. Nhìn chung, kết nối đến đều bị chặn. Phát đa hướng hoặc truyền phát gói dữ liệu từ Android không được chuyển tiếp tới LAN thông qua tường lửa.

Ngoại trừ chế độ hạn chế phát đa hướng, ChromeOS chạy một dịch vụ chuyển tiếp lưu lượng mDNS giữa Android và giao diện LAN, do đó, giao diện API khám phá dịch vụ mạng là cách được đề xuất để khám phá các thiết bị khác trên phân đoạn mạng LAN. Sau tìm thiết bị trên mạng LAN, ứng dụng Android có thể sử dụng unicast TCP hoặc UDP chuẩn socket để giao tiếp với nó.

Các kết nối IPv4 bắt nguồn từ Android sử dụng địa chỉ IPv4 của máy chủ ChromeOS. Trong nội bộ, ứng dụng Android sẽ thấy một địa chỉ IPv4 riêng tư được chỉ định cho mạng . Các kết nối IPv6 bắt nguồn từ Android sử dụng một địa chỉ khác từ máy chủ ChromeOS, vì vùng chứa Android có một Địa chỉ IPv6.

Sử dụng hiệu quả bộ nhớ trên đám mây và bộ nhớ cục bộ

Chromebook giúp người dùng dễ dàng di chuyển từ thiết bị này sang thiết bị khác. Nếu người dùng dừng đang sử dụng một Chromebook và bắt đầu sử dụng một Chromebook khác, họ chỉ phải đăng nhập và tất cả ứng dụng của họ sẽ xuất hiện.

Do tính năng này, hãy sao lưu dữ liệu ứng dụng của bạn lên đám mây để bật tính năng đồng bộ hoá trên nhiều thiết bị. Tuy nhiên, đừng phụ thuộc vào kết nối Internet để ứng dụng của bạn hoạt động bình thường. Thay vào đó, hãy lưu công việc của người dùng trên thiết bị khi thiết bị khi không có mạng và đồng bộ hoá với đám mây khi thiết bị có kết nối mạng trở lại.

Chromebook cũng có thể được dùng chung giữa một số lượng lớn người dùng, chẳng hạn như trong trường học. Vì bộ nhớ cục bộ không phải là vô hạn, nên toàn bộ các tài khoản — cộng lại với bộ nhớ của họ—có thể bị xoá khỏi thiết bị bất kỳ lúc nào. Cho cài đặt giáo dục, bạn nên lưu ý tình huống này.

Cập nhật thư viện NDK

Nếu ứng dụng của bạn dùng thư viện Android NDK và phiên bản SDK mục tiêu của ứng dụng là 23 hoặc cao hơn, hãy đảm bảo rằng các chế độ chuyển vị trí văn bản sẽ bị loại bỏ khỏi cả ARM và x86 các phiên bản thư viện NDK vì các phiên bản này không tương thích trong Android 6.0 (API cấp 23) trở lên. Khi loại bỏ tình trạng chuyển vị trí văn bản trong thư viện NDK, bạn cũng có thể gây ra lỗi tương thích với Chromebook, đặc biệt là khi chạy trên thiết bị sử dụng kiến trúc x86.

Phát triển các trường hợp kiểm thử mới cho ứng dụng

Để phát triển các trường hợp kiểm thử cho ứng dụng, trước tiên, hãy đảm bảo rằng bạn chỉ định cờ trong tệp kê khai. Cụ thể, hãy cân nhắc đặt screenOrientation đến unspecified. Nếu bạn muốn chỉ định một hướng ngang, hãy cân nhắc sử dụng sensorLandscape để đảm bảo có trải nghiệm tối ưu trên máy tính bảng.

Nếu bạn có nhu cầu đặc biệt về kích thước hoặc hướng cho môi trường máy tính, hãy cân nhắc thêm thẻ meta dưới dạng gợi ý về kích thước hoặc hướng. Để thêm kích thước và hướng trên điện thoại, chỉ định bố cục defaultHeight, defaultWidth, hoặc minHeight thay thế.

Nếu bạn quan tâm đến việc xử lý thiết bị đầu vào cụ thể cho thiết bị cụ thể danh mục, hãy chỉ định android.hardware.type.pc để vô hiệu hoá chế độ nhập chế độ tương thích.

Nếu bạn đang sử dụng bất kỳ loại kết nối mạng nào, hãy đảm bảo rằng ứng dụng có thể kết nối lại vào mạng sau khi sự cố kết nối đã được giải quyết hoặc thiết bị khởi động chế độ ngủ.

Bạn nên kiểm tra danh sách các trường hợp kiểm thử cho ứng dụng Android trên Chrome Hệ điều hành mà bạn có thể sử dụng trong kế hoạch kiểm thử. Các trường hợp kiểm thử này bao gồm các trường hợp phổ biến mà ứng dụng Android cần được chuẩn bị nếu chúng được dự kiến sẽ chạy trên thiết bị ChromeOS.

Thay đổi về nhiều cửa sổ và hướng

Môi trường nhiều cửa sổ của ChromeOS có thể giúp duy trì trạng thái và truy lại vấn đề rõ ràng hơn. Sử dụng ViewModel để lưu và khôi phục trạng thái của bạn khi thích hợp.

Để kiểm thử tính ổn định của trạng thái, hãy thu nhỏ ứng dụng của bạn trong một khoảng thời gian, rồi bắt đầu một trạng thái khác quá trình tốn nhiều tài nguyên và khôi phục ứng dụng của bạn để xác nhận rằng ứng dụng quay lại trạng thái để quảng cáo đó xuất hiện.

Thử nghiệm đổi kích thước cửa sổ bằng cách nhấn phím toàn màn hình (F4), phóng to và đang khôi phục. Để thử tự do đổi kích thước, trước tiên hãy bật tính năng này trong phần tuỳ chọn cho nhà phát triển, và sau đó kiểm tra để đảm bảo rằng ứng dụng đổi kích thước một cách mượt mà mà không gặp sự cố.

Nếu thiết bị ChromeOS của bạn hỗ trợ, hãy thay đổi từ chế độ máy tính xách tay sang chế độ máy tính bảng để kiểm tra mọi thứ có hoạt động như mong đợi hay không. Xoay thiết bị một lần ở chế độ máy tính bảng để thử nghiệm các thay đổi về hướng, sau đó chuyển về chế độ máy tính xách tay. Lặp lại bước này vài lần.

Hãy đảm bảo thanh trên cùng không làm hỏng ứng dụng của bạn bằng cách bù đắp các thành phần trên giao diện người dùng hoặc nhập bằng cách chạm dựa trên vị trí. Đối với thiết bị ChromeOS, hãy đảm bảo rằng ứng dụng của bạn không đặt thông tin quan trọng vào khu vực thanh trạng thái.

Nếu bạn đang sử dụng máy ảnh hoặc một tính năng phần cứng khác, chẳng hạn như bút, hãy đảm bảo nó hoạt động đúng cách khi thực hiện các thay đổi về cửa sổ và thiết bị nêu trước đó.