Perangkat ChromeOS, seperti Chromebook, mendukung Google Play Store dan aplikasi Android. Artikel ini mengasumsikan bahwa Anda memiliki aplikasi Android yang didesain untuk ponsel atau tablet yang ingin Anda optimalkan untuk Chromebook. Untuk mempelajari dasar-dasar pembuatan aplikasi Android, lihat Mem-build aplikasi Android pertama Anda.
Memperbarui file manifes aplikasi
Untuk memulai, update file manifes Anda agar memperhitungkan beberapa perbedaan utama hardware dan software antara Chromebook dengan perangkat lain yang menjalankan Android.
Mulai ChromeOS versi M53, semua aplikasi Android yang tidak secara eksplisit memerlukan
fitur
android.hardware.touchscreen
juga akan berfungsi pada perangkat ChromeOS yang mendukung
fitur android.hardware.faketouch
. Namun, untuk memastikan aplikasi Anda berfungsi di semua
Chromebook, update file manifes sehingga
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 Chromebook menyediakan data lokasi berdasarkan koneksi Wi-Fi. Lihat ringkasan sensor untuk mempelajari lebih lanjut sensor yang didukung platform Android.
Jika ingin aplikasi Anda berjalan di Chromebook, terlepas dari ketersediaan sensor, perbarui file manifes Anda 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 mengetahui 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 berbagai versi.
Memeriksa persyaratan jaringan
Chromebook menjalankan seluruh OS Android dalam container, mirip dengan Docker atau LXC. Artinya, Android tidak memiliki akses langsung ke antarmuka LAN sistem. Sebagai gantinya, traffic IPv4 akan meneruskan lapisan internal penafsiran alamat jaringan (NAT), dan traffic IPv6 unicast akan dialihkan 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 broadcast dari Android tidak diteruskan ke LAN melalui firewall.
Sebagai pengecualian untuk batasan multicast, ChromeOS menjalankan layanan yang meneruskan traffic mDNS antara Android dan antarmuka LAN, sehingga API penemuan layanan jaringan 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 dengan perangkat tersebut.
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 melakukan migrasi dari satu perangkat ke perangkat lainnya dengan mudah. Jika pengguna berhenti menggunakan satu Chromebook dan mulai menggunakan Chromebook lain, 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 Anda 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 ke sekelompok besar orang, misalnya di sekolah. Karena penyimpanan lokal tidak terbatas, seluruh akun—beserta penyimpanan akun—dapat dihapus dari perangkat kapan saja. Untuk setelan pendidikan, sebaiknya selalu ingat skenario ini.
Mengembangkan kasus pengujian baru untuk aplikasi
Untuk mengembangkan kasus pengujian aplikasi, pastikan terlebih dahulu bahwa Anda menentukan flag manifes
yang tepat. Secara khusus, pertimbangkan untuk menetapkan screenOrientation
ke unspecified
. Jika Anda ingin menentukan orientasi lanskap, sebaiknya gunakan
sensorLandscape
untuk memastikan bahwa pengalaman pada tablet telah optimal.
Jika Anda memiliki kebutuhan orientasi atau ukuran khusus untuk lingkungan desktop, sebaiknya
tambahkan tag meta sebagai petunjuk orientasi atau ukuran. Untuk menyertakan ukuran dan orientasi
di ponsel, tentukan atribut
defaultHeight
,
defaultWidth
,
atau minHeight
tata letak.
Jika berminat untuk menggunakan penanganan perangkat input tertentu untuk kategori perangkat
tertentu, tentukan android.hardware.type.pc
untuk menonaktifkan mode
kompatibilitas input.
Jika Anda menggunakan semua jenis jaringan, pastikan aplikasi dapat terhubung kembali ke jaringan setelah masalah koneksi teratasi atau perangkat kembali aktif 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 siap ditangani oleh aplikasi Android jika aplikasi tersebut akan dijalankan 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 saat dibutuhkan.
Untuk menguji persistensi status, minimalkan aplikasi Anda selama beberapa waktu, mulai proses intensif resource lainnya, dan pulihkan aplikasi Anda untuk mengonfirmasi bahwa aplikasi kembali ke status terakhir saat aplikasi ditinggalkan.
Uji pengubahan ukuran jendela dengan menekan tombol layar penuh (F4), memaksimalkan, dan memulihkannya. Untuk menguji pengubahan ukuran bebas, aktifkan terlebih dahulu di opsi developer, lalu periksa apakah aplikasi dapat diubah ukurannya dengan lancar tanpa menyebabkan error.
Jika perangkat ChromeOS Anda mendukungnya, ubah dari laptop ke mode tablet untuk memeriksa apakah semuanya berfungsi seperti yang diharapkan. Putar perangkat satu kali dalam mode tablet untuk menguji perubahan orientasi, lalu beralih kembali ke mode laptop. Ulangi langkah ini beberapa kali.
Pastikan bahwa panel atas tidak merusak 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 aplikasi berperilaku sebagaimana mestinya saat melakukan perubahan pada jendela dan perangkat yang diuraikan sebelumnya.