Perangkat ChromeOS, seperti Chromebook, mendukung Google Play Store dan aplikasi Android. Artikel ini mengasumsikan bahwa Anda telah memiliki aplikasi Android yang didesain untuk ponsel atau tablet yang ingin dioptimalkan untuk Chromebook. Untuk mempelajari dasar-dasar cara membuat aplikasi Android, lihat Mem-build aplikasi Android pertama Anda.
Memperbarui file manifes aplikasi
Untuk memulai, update file manifes untuk memperhitungkan beberapa perbedaan hardware dan software utama antara Chromebook dan perangkat lain yang menjalankan Android.
Mulai ChromeOS versi M53, semua aplikasi Android yang tidak secara eksplisit memerlukan fitur
android.hardware.touchscreen
juga berfungsi pada perangkat ChromeOS yang mendukung
fitur android.hardware.faketouch
. Namun, untuk memastikan aplikasi Anda berfungsi di semua
Chromebook, update file manifes agar
fitur android.hardware.touchscreen
tidak diperlukan, seperti yang ditunjukkan dalam
contoh berikut.
<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>
Perangkat hardware yang berbeda dilengkapi dengan kumpulan sensor yang berbeda, dan Chromebook mungkin tidak memiliki semua sensor yang ditemukan di perangkat genggam Android, seperti GPS dan akselerometer. Namun, dalam beberapa kasus, fungsi sensor disediakan dengan cara lain. Misalnya, Chromebook mungkin tidak memiliki sensor GPS, tetapi menyediakan data lokasi berdasarkan koneksi Wi-Fi. Lihat ringkasan sensor untuk mempelajari sensor yang didukung platform Android lebih lanjut.
Jika Anda ingin aplikasi berjalan di Chromebook, terlepas dari ketersediaan sensor, update file manifes sehingga tidak ada sensor yang diperlukan.
Beberapa fitur software tidak didukung di Chromebook. Misalnya, aplikasi yang menyediakan IME kustom, widget aplikasi, wallpaper animasi, dan peluncur aplikasi tidak didukung dan tidak dapat diinstal di Chromebook. Untuk daftar lengkap fitur software yang tidak didukung di Chromebook, lihat fitur software yang tidak kompatibel.
Mengupdate SDK target
Update atribut targetSdkVersion
aplikasi Anda ke level API terbaru yang tersedia untuk memanfaatkan semua
peningkatan di platform Android. Tinjau peningkatan pada platform
Android di seluruh versi yang berbeda.
Memeriksa persyaratan jaringan
Chromebook menjalankan seluruh OS Android dalam container, mirip dengan Docker atau LXC. Ini berarti Android tidak memiliki akses langsung ke antarmuka LAN sistem. Sebagai gantinya, traffic IPv4 melewati lapisan internal penafsiran alamat jaringan (NAT), dan traffic unicast IPv6 diarahkan melalui hop tambahan.
Koneksi unicast keluar dari aplikasi Android ke internet sebagian besar berfungsi sebagaimana mestinya. Secara umum, koneksi masuk akan diblokir. Paket multicast atau siaran dari Android tidak diteruskan ke LAN melalui firewall.
Sebagai pengecualian untuk pembatasan multicast, ChromeOS menjalankan layanan yang meneruskan traffic mDNS antara Android dan antarmuka LAN, sehingga penemuan layanan jaringan API standar adalah cara yang direkomendasikan untuk menemukan perangkat lain di segmen LAN. Setelah menemukan perangkat di LAN, aplikasi Android dapat menggunakan soket unicast TCP atau UDP standar untuk berkomunikasi dengannya.
Koneksi IPv4 yang berasal dari Android menggunakan alamat IPv4 host ChromeOS. Secara internal, aplikasi Android melihat alamat IPv4 pribadi yang ditetapkan untuk antarmuka jaringan. Koneksi IPv6 yang berasal dari Android menggunakan alamat yang berbeda dari host ChromeOS, karena penampung Android memiliki alamat IPv6 publik khusus.
Menggunakan cloud dan penyimpanan lokal secara efektif
Chromebook memungkinkan pengguna bermigrasi dari satu perangkat ke perangkat lainnya dengan mudah. Jika pengguna berhenti menggunakan satu Chromebook dan mulai menggunakan Chromebook lainnya, mereka hanya perlu login, dan semua aplikasi mereka akan muncul.
Karena fitur ini, cadangkan data aplikasi Anda ke cloud untuk mengaktifkan sinkronisasi di seluruh perangkat. Namun, jangan bergantung pada koneksi internet agar aplikasi dapat beroperasi secara normal. Sebagai gantinya, simpan pekerjaan pengguna secara lokal saat perangkat offline dan sinkronkan ke cloud setelah perangkat kembali online.
Chromebook juga dapat dibagikan kepada banyak orang, misalnya di sekolah. Karena penyimpanan lokal tidak terbatas, seluruh akun—beserta penyimpanannya—dapat dihapus dari perangkat kapan saja. Untuk setelan pendidikan, sebaiknya pertimbangkan skenario ini.
Mengupdate library NDK
Jika aplikasi Anda menggunakan library Android NDK dan versi SDK targetnya adalah 23 atau lebih tinggi, pastikan relokasi teks dihapus dari library NDK versi ARM maupun x86, karena tidak kompatibel di Android 6.0 (API level 23) dan yang lebih baru. Dengan membiarkan teks relokasi di library NDK, Anda juga dapat menyebabkan error kompatibilitas dengan Chromebook, terutama saat berjalan pada perangkat yang menggunakan arsitektur x86.
Mengembangkan kasus pengujian baru untuk aplikasi
Untuk mengembangkan kasus pengujian aplikasi, pertama-tama pastikan Anda menentukan flag manifes yang tepat. Secara khusus, sebaiknya tetapkan screenOrientation
ke unspecified
. Jika Anda ingin menentukan orientasi lanskap, pertimbangkan untuk menggunakan
sensorLandscape
untuk memastikan bahwa pengalaman pada tablet telah optimal.
Jika Anda memiliki kebutuhan ukuran atau orientasi khusus untuk lingkungan desktop, pertimbangkan
untuk menambahkan tag meta sebagai petunjuk ukuran atau orientasi. Untuk menyertakan ukuran dan orientasi
pada ponsel, tentukan atribut
defaultHeight
,
defaultWidth
,
atau minHeight
tata letak sebagai gantinya.
Jika Anda ingin menggunakan penanganan perangkat input tertentu untuk kategori perangkat
tertentu, tentukan android.hardware.type.pc
untuk menonaktifkan mode kompatibilitas
input.
Jika Anda menggunakan jenis jaringan apa pun, pastikan aplikasi dapat terhubung kembali ke jaringan setelah masalah koneksi teratasi atau perangkat kembali dari mode tidur.
Sebaiknya periksa daftar kasus pengujian untuk aplikasi Android di ChromeOS, yang dapat Anda gunakan dalam rencana pengujian. Kasus pengujian ini mencakup skenario umum yang harus disiapkan aplikasi Android jika aplikasi diharapkan dapat berjalan di perangkat ChromeOS.
Perubahan multi-aplikasi dan orientasi
Lingkungan multi-aplikasi ChromeOS dapat membuat persistensi status dan masalah recall
menjadi lebih jelas. Gunakan ViewModel
untuk menyimpan dan memulihkan status jika sesuai.
Untuk menguji persistensi status, minimalkan aplikasi selama beberapa waktu, mulai proses intensif resource lainnya, lalu pulihkan aplikasi Anda untuk mengonfirmasi bahwa aplikasi kembali ke status ketika Anda meninggalkannya.
Uji pengubahan ukuran jendela dengan menekan tombol layar penuh (F4), memaksimalkan, dan memulihkan. Untuk menguji pengubahan ukuran bebas, aktifkan terlebih dahulu di opsi developer, lalu pastikan aplikasi Anda dapat berubah ukurannya dengan lancar tanpa error.
Jika perangkat ChromeOS Anda mendukungnya, ubah dari mode laptop ke tablet untuk memeriksa apakah semuanya berfungsi seperti yang diharapkan. Putar perangkat satu kali dalam mode tablet untuk menguji perubahan orientasi, lalu bertransisi kembali ke mode laptop. Ulangi langkah ini beberapa kali.
Pastikan panel atas tidak mengganggu aplikasi Anda dengan mengimbangi elemen UI atau input sentuh berbasis lokasi. Untuk perangkat ChromeOS, pastikan aplikasi Anda tidak menempatkan informasi penting di area status bar.
Jika Anda menggunakan kamera atau fitur hardware lainnya, seperti pena, pastikan fitur ini berperilaku benar saat melakukan perubahan jendela dan perangkat yang diuraikan sebelumnya.