Mulai membuat aplikasi untuk ChromeOS

Perangkat ChromeOS, seperti Chromebook, mendukung Google Play Store dan Android. Artikel ini mengasumsikan bahwa Anda sudah memiliki aplikasi Android yang dirancang untuk ponsel atau tablet yang ingin Anda optimalkan untuk Chromebook. Untuk mempelajari dasar-dasar membangun aplikasi Android, lihat Membangun Android pertama Anda aplikasi.

Memperbarui file manifes aplikasi

Untuk memulai, perbarui file manifes Anda untuk memperhitungkan beberapa perangkat keras utama dan perbedaan software antara Chromebook dan perangkat lain yang menjalankan Android.

Mulai ChromeOS versi M53, semua aplikasi Android yang tidak secara eksplisit memerlukan android.hardware.touchscreen juga berfungsi pada perangkat ChromeOS yang mendukung android.hardware.faketouch. Namun, untuk memastikan aplikasi Anda berfungsi di semua Chromebook, perbarui file manifes Anda 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 keras 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, sensor diberikan dengan cara lain. Misalnya, Chromebook mungkin tidak memiliki sensor GPS, tetapi menyediakan data lokasi berdasarkan koneksi Wi-Fi. Lihat ringkasan sensor untuk mempelajari lebih lanjut tentang sensor yang didukung platform Android.

Jika Anda ingin aplikasi berjalan di Chromebook, terlepas dari ketersediaan sensor, perbarui file manifes Anda sehingga tidak diperlukan sensor.

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 artikel tidak kompatibel fitur software Anda.

Mengupdate SDK target

Mengupdate targetSdkVersion aplikasi Anda ke level API terbaru yang tersedia untuk memanfaatkan semua peningkatan platform Android. Meninjau peningkatan di Android platform 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 LAN sistem dalam antarmuka berbasis web yang sederhana. Sebaliknya, lalu lintas IPv4 melewati lapisan internal jaringan penafsiran alamat (NAT), dan lalu lintas unicast IPv6 diarahkan melalui berbasis "hop".

Koneksi unicast keluar dari aplikasi Android ke internet umumnya bekerja sebagaimana adanya. Secara umum, koneksi masuk akan diblokir. Multicast atau broadcast paket dari Android tidak diteruskan ke LAN melalui firewall.

Sebagai pengecualian untuk pembatasan {i>multicast<i}, ChromeOS menjalankan layanan yang meneruskan lalu lintas mDNS antara Android dan antarmuka LAN, jadi API penemuan layanan jaringan adalah cara yang direkomendasikan untuk menemukan perangkat lain di segmen LAN. Sesudah menemukan perangkat di LAN, aplikasi Android dapat menggunakan TCP standar atau UDP {i>unicast<i} soket untuk berkomunikasi dengannya.

Koneksi IPv4 yang berasal dari Android menggunakan alamat IPv4 host ChromeOS. Secara internal, aplikasi Android melihat alamat IPv4 pribadi yang ditetapkan ke jaringan dalam antarmuka berbasis web yang sederhana. Koneksi IPv6 yang berasal dari Android menggunakan alamat yang berbeda dari host ChromeOS, karena penampung Android memiliki instance Alamat IPv6.

Menggunakan cloud dan penyimpanan lokal secara efektif

Chromebook memungkinkan pengguna melakukan migrasi dengan mudah dari satu perangkat ke perangkat lainnya. Jika pengguna berhenti menggunakan satu Chromebook dan mulai menggunakan yang lain, mereka hanya perlu masuk, dan semua aplikasi mereka muncul.

Karena fitur ini, cadangkan data aplikasi Anda ke cloud untuk mengaktifkan sinkronisasi lintas perangkat. Namun, jangan bergantung pada koneksi internet untuk beroperasi secara normal. Sebaliknya, simpan pekerjaan pengguna secara lokal saat perangkat secara offline dan menyinkronkan ke cloud setelah perangkat kembali online.

Chromebook juga dapat digunakan bersama oleh banyak orang, seperti di sekolah. Karena penyimpanan lokal tidak terbatas, seluruh akun—bersama-sama dengan penyimpanannya—dapat dihapus dari perangkat kapan saja. Sebagai pendidikan, ada baiknya untuk mempertimbangkan skenario ini.

Mengupdate library NDK

Jika aplikasi Anda menggunakan library Android NDK dan versi SDK targetnya adalah 23 atau lebih tinggi, pastikan bahwa relokasi teks dihapus dari ARM dan x86 library NDK, karena tidak kompatibel di Android 6.0 (API level 23) dan lebih tinggi. Dengan membiarkan relokasi teks di library NDK, Anda juga dapat menyebabkan kesalahan kompatibilitas dengan Chromebook, terutama saat yang berjalan pada perangkat yang menggunakan arsitektur x86.

Mengembangkan kasus pengujian baru untuk aplikasi

Untuk mengembangkan kasus pengujian aplikasi, pertama-tama pastikan Anda menentukan penanda manifes. Secara khusus, pertimbangkan untuk menyetel screenOrientation ke unspecified. Jika Anda ingin menentukan orientasi lanskap, pertimbangkan untuk menggunakan sensorLandscape untuk memastikan pengalaman di tablet optimal.

Jika Anda memiliki kebutuhan orientasi atau ukuran khusus untuk lingkungan desktop, pertimbangkan menambahkan tag meta sebagai petunjuk orientasi atau ukuran. Untuk menyertakan ukuran dan orientasi di ponsel, tentukan tata letak defaultHeight, defaultWidth, atau minHeight atribut sebagai gantinya.

Jika Anda tertarik dengan penanganan perangkat input tertentu untuk perangkat tertentu kategori, tentukan android.hardware.type.pc untuk menonaktifkan input mode kompatibilitas.

Jika Anda menggunakan semua jenis jaringan, pastikan aplikasi dapat menghubungkan kembali ke jaringan setelah masalah koneksi diselesaikan atau perangkat diaktifkan dari mode tidur.

Sebaiknya periksa daftar kasus pengujian untuk aplikasi Android di Chrome OS, yang dapat digunakan dalam rencana pengujian. Kasus pengujian mencakup skenario umum yang harus dipersiapkan oleh aplikasi Android jika keduanya diharapkan berjalan di perangkat ChromeOS.

Perubahan multi-aplikasi dan orientasi

Lingkungan multi-aplikasi ChromeOS dapat membuat persistensi dan penarikan status permasalahan secara lebih jelas. Gunakan ViewModel untuk menyimpan dan memulihkan status Anda jika diperlukan.

Untuk menguji persistensi status, minimalkan aplikasi Anda selama beberapa waktu, mulai aplikasi lainnya intensif, dan pulihkan aplikasi Anda untuk mengonfirmasi bahwa aplikasi kembali ke seperti saat Anda meninggalkannya.

Uji pengubahan ukuran jendela dengan menekan tombol layar penuh (F4), memaksimalkan, dan memulihkan. Untuk menguji perubahan ukuran bebas, aktifkan terlebih dahulu dalam opsi pengembang, dan kemudian periksa apakah aplikasi Anda dapat mengubah ukuran dengan lancar tanpa mengalami error.

Jika perangkat ChromeOS Anda mendukungnya, ubah dari mode laptop ke tablet untuk memeriksa apakah semuanya bekerja seperti yang diharapkan. Putar perangkat satu kali dalam mode tablet untuk mengubah orientasi tes, lalu bertransisi kembali ke mode laptop. Ulangi langkah ini beberapa kali.

Pastikan panel atas tidak merusak aplikasi Anda dengan mengganti 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 perangkat keras lainnya, seperti pena, pastikan memastikan perilakunya benar saat melakukan perubahan jendela dan perangkat diuraikan sebelumnya.