Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Membawa Aplikasi Android Anda ke Chromebooks

by
Difficulty:BeginnerLength:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Kurniawan Sugi Purwanto (you can also view the original English article)

Mintalah pada tiap pengembang untuk menyebutkan tantangan terbesar dalam mengembangkan Android, kemungkinan mereka akan mengatakan fragmentasi. Membuat aplikasi yang cukup fleksibel untuk bisa dijalankan di sejumlah besar perangkat Android pada titik tertentu sangat memusingkan bagi kebanyakan pengembang Android. 

Tetapi mengembangkan untuk platform yang terfragmentasi punya sisi positifnya sendiri! Karena ada banyak perangkat Android yang berbeda-beda di luar sana, aplikasi Anda punya potensi terhubung dengan audiens yang sangat banyak—dan sekarang akan jauh lebih banyak lagi karena aplikasi-aplikasi Android saat ini bisa dijalankan di Chrome OS.

Di artikel ini akan saya tunjukkan pada Anda bagaimana agar proyek aplikasi Android terbaru Anda bisa berjalan di Chrome OS. Dan dikarenakan Anda ingin menyediakan pengalaman pengguna yang paling baik di platform baru ini, saya juga akan memperlihatkan cara mengoptimasi aplikasi Android Anda, supaya para audiens baru Anda di Chromebook takjub.

Apakah Aplikasi Saya Cocok untuk Chromebook?

Sebagai seorang pengembang Android, membuat aplikasi Anda tampil di hadapan sebanyak mungkin orang selalu menjadi prioritas utama Anda, bukan?

Tidak segitunya.

Karena saat ini aplikasi Android sudah kompatibel dengan Chrome OS, tidak berarti semua aplikasi Android akan secara otomatis sesuai dengan platform baru ini.

Bayangkan Anda mendapati suatu aplikasi yang Anda menyukai tampilannya, dan Google Play menunjukkan bahwa aplikasi ini kompatibel dengan smartphone dan Chromebook Anda. Anda memutuskan untuk mengunduh aplikasinya ke laptop Anda dan secara langsung menyadari bahwa kebanyakan fitur aplikasi bergantung pada perangkat yang spesifik untuk selular, seperti kemampuan membuat panggilan telepon dan mengirimkan SMS.

Hasil akhirnya? Aplikasinya banyak tidak terpakai di Chrome OS. Anda akan langsung mencopot aplikasinya, merasa bahwa pengembang aplikasi telah sepenuhnya membuang waktu Anda, lalu sebagai balasan menuliskan ulasan yang negatif di Google Play.

Aplikasi yang tidak mendukung Chrome OS kemungkinan terburuk akan sedikit mengganggu pengguna Chromebook, tetapi aplikasi yang memberikan pengalaman pengguna yang parah di Chrome OS akan jauh lebih buruk.

Sebelum Anda menggali lebih dalam dan mulai mempersiapkan debut aplikasi Anda untuk Chrome OS, ambil waktu sejenak untuk berpikir apakah aplikasi Anda sungguh-sungguh menawarkan sesuatu untuk pengguna Chromebook.

Chromebook Anda biasanya memiliki perangkat keras yang sangat berbeda dengan smartphone atau tablet Android pada umumnya. Perangkat keras akan menjadi tema berulang dalam artikel ini, tetapi untuk saat ini lihat baik-baik daftar fitur aplikasi Anda—apakah fitur-fitur tersebut tidak sesuai dengan laptop biasa Anda?

Sebagai contoh, tidak mungkin aplikasi pedometer yang Anda kerjakan akan pernah berkembang di Chrome OS, karena laptop biasanya tidak memiliki perangkat keras yang dibutuhkkan untuk mengukur langkah kaki (dan kapan terakhir kali Anda melihat orang lari pagi sambil membawa Chromebooknya?).

Jika aplikasi Anda memiliki sejumlah fitur yang tidak kompatibel, adakah cara untuk memodifikasi fitur-fitur ini sehingga bisa lebih ramah bagi Chromebook? Jika jawabannya "tidak" maka Anda harus menonaktifkan fitur-fitur tersebut ketika aplikasi Anda berjalan di Chrome OS, yang akan membawa pertanyaan lain: masih bisakah aplikasi Anda menyediakan pengalaman pengguna yang bagus, meskipun tanpa fitur-fitur tersebut. Jika tidak memungkinkan, artinya aplikasi Anda bukan pilihan yang tepat untuk Chromebook.

Harapannya, bahkan jika Anda harus menonaktifkan atau memodifikasi sejumlah fitur, aplikasi Anda masih bisa menawarkan sesuati pada pengguna Chromebook—dan di titik inilah Anda siap dan antusias untuk mulai memperbarui aplikasi Anda agar bisa dijalankan di Chrome OS!

Membuat Aplikasi Anda Berjalan di Chrome OS

Jika aplikasi Anda membutuhkan perangkat keras yang tidak ditunjang dengan Chrome OS, pengguna Chromebook tidak akan bisa memasang aplikasi Anda. Dan ada satu jenis perangkat keras yang ada di sebagian besar (jika tidak semua) smartphone dan tablet, tetapi tidak ada di semua Chromebook: layar sentuh.

Lebih parah lagi, kecuali Anda mengaturnya berbeda, Google Play akan mengasumsikan bahwa aplikasi Android Anda membutuhkan layar sentuh sehingga akan mencegah aplikasi Anda dipasang di semua perangkat yang tidak memiliki fungsionalitas layar sentuh. Jika Anda akan membuat aplikasi yang tersedia untuk sebanyak mungkin pengguna Chromebook, Anda harus bertanya pada diri Anda sendiri: apakah aplikasi Android saya sungguh-sungguh membutuhkan layar sentuh?

Untuk mayoritas aplikasi Android, jawabannya tidak. Kebanyakan aplikasi Android bisa berfungsi dengan sangat sempurna tanpa layar sentuh , terutama di Chromebooks yang penggunanya memiliki keyboard ukuran penuh, trackpad, dan kemungkinan juga suatu tetikus eksternal. Beberapa Chromebooks bahkan mendukung "layar sentuh aspal", yakni suatu sistem input tambahan yang memungkinkan Anda menggunakan mouse dan keyboard untuk menyamai even-even dasar layar sentuh.

Jadi kecuali Anda punya alasan yang sangat bagus untuk tidak melakukannya, Anda harus menentukan bahwa aplikasi Anda tidak butuh layar sentuh agar bisa berfungsi. Di sini Anda harus membuka Manifest proyek Anda, mendeklarasikan bahwa layar sentuh adalah suatu fitur yang digunakan aplikasi Anda (uses-feature android:name="android.hardware.touchscreen") lalu gunakan android:attribute untuk menentukan apakah aplikasi Anda:

  • Membutuhkan fitur ini agar bisa berfungsi ("true").

  • Ingin fitur ini ada, tetapi bisa berfungsi tanpanya ("false").

Di contoh ini, kita ingin mendeklarasikan bahwa layar sentuh diutamakan ada tetapi tidak wajib:

Open your projects Manifest and declare that touchscreen support isnt required

Kemudian Google Play akan menggunakan <uses-feature> dan deklarasi android:required untuk menentukan apakah aplikasi Anda kompatibel dengan suatu perangkat pengguna, dan hanya akan mengizinkan pengguna untuk mengunduh aplikasi tersebut jika perangkatnya memenuhi semua persyaratan yang ada.

Begitu Anda mendeklarasikan bahwa aplikasi Anda tidak mewajibkan layar sentuh, aplikasi tersebut akan langsung tersedia untuk sejumlah besar pengguna Chromebook.

Pertimbangan Perangkat Keras Lainnya

Sekarang, ulangi lagi untuk tiap fitur yang digunakan aplikasi Anda. Inilah praktek terbaik untuk  mengembangkan aplikasi Android apa saja, tetapi ini juga langkah yang penting untuk mengoptimasi aplikasi Anda untuk pengguna-pengguna Chromebook.

Untuk membantu aplikasi Anda agar siap untuk Chrome OS, tim Android telah menyiapkan suatu daftar yang bermanfaat berisi semua deklarasi perangkat keras yang biasanya tidak kompatibel dengan Chromebooks. Jika ada fitur di daftar ini yang digunakan tetapi tidak disyaratkan oleh aplikasi Anda, maka penting bagi Anda untuk mendeklarasikan fitur ini di Manifest Anda dan menandainya sebagai android:required="false".

Meskipun demikian, jangan secara otomatis mengatur semua fitur ke "false" hanya karena Anda ingin aplikasinya tersedia untuk sebanyak mungkin Chromebooks. Pertimbangkan pengalaman pengguna apa yang akan diberikan oleh aplikasi Anda tanpa akses ke perangkat-perangkat keras tersebut. Meskipun mungkin menggoda untuk mencoba dan membuat aplikasi Anda tampil di hadapan sebanyak mungkin orang, selalu lebih baik untuk menyediakan pengalaman pengguna yang bagus ke audiens yang lebih kecil daripada pengalaman pengguna yang tanggung atau jelek ke audiens yang besar.

Di titik ini, Anda juga harus mengulas tiap perizinan yang dibutuhkan aplikasi Anda, karena sejumlah perizinan secara implisit ada persyaratan permintaan perangkat kerasnya. Sebagai contoh, jika aplikasi Anda meminta izin menggunakan kamera maka Google Play akan mengasumsikan bahwa aplikasinya mensyaratkan adanya perangkat kamera, dan akan mencegah aplikasi tersebut dipasang di perangkat yang tidak memenuhi persyaratan ini. Jika aplikasi Anda sesungguhnya tidak membutuhkan kamera, maka inilah cara yang bagus untuk melewatkan pengguna-pengguna potensial! Untuk mencegah terjadinya ini, Anda harus mendeklarasikan fiturnya di Manifest aplikasi dan menandainya sebagai "false".

Jika Anda setia pada praktek terbaik untuk mendeklarasikan setiap fitur yang digunakan aplikasi Anda, maka secara teori Anda tidak perlu khawatir tentang permintaan fitur secara implisit, tetapi selalu ada manfaatnya memerika ulang proyek Anda, untuk berjaga-jaga.

Secara spesifik, perizinan berikut mengimplikasikan permintaan fitur yang bisa mencegah aplikasi Anda dipasang di Chrome OS:

  • CALL_PHONE

  • CALL_PRIVILEDGED

  • CAMERA

  • MODIFY_PHONE_STATE

  • PROCESS_OUTGOING_CALLS

  • READ_SMSREAD_SMS

  • RECEIVE_MMS

  • RECEIVE_SMS

  • RECEIVE_WAP_PUSH

  • SEND_SMS

  • WRITE_APN_SETTINGS

  • WRITE_SMS

Jika aplikasi Anda membutuhkan yang mana saja dari permintaan izin di atas, periksa ulang deklarasi Anda pada perangkat keras terkait di manifest proyek Anda, dan tandai tiap deklarasi sebagai "false" jika aplikasi Anda sesungguhnya tidak membutuhkan perangkat keras ini.

Ketika Anda mengerjaka permintaan-permintaan fitur, akan lumayan membantu Anda dengan melihat sekilas bagaimana Google Play akan menyaring aplikasi Anda berdasarkan deklarasi perangkat keras dan permintaan perizinannya saat ini. SDK Android memiliki alat 'aapt' yang memungkinkan Anda melakukannya dengan mudah—Anda bisa menjalankan alat ini, memeriksa bagaimana keluarannya dikomparasikan dengan fitur-fitur yang benar-benar dibutuhkan aplikasi Anda, dan membuat perubahan yang dibutuhkan.

Untuk informasi lebih lanjut tentang bagaimana menggunakan aapt, pelajari dokumen resmi Android.

Sensor

Mayoritas smartphone dan tablet Android memiliki berbagai sensor built-in yang bisa memberikan macam-macam data bagi aplikasi Anda, termasuk orientasi perangkat saat ini, posisi, dan terkadang informasi mengenai kondisi lingkungan.

Kebanyakan sensor yang biasanya Anda bisa temukan di suatu smartphone atau tablet biasanya tidak tersedia di Chrome OS, jadi jika aplikasi Anda menggunakan data dari sensor tersebut maka Anda harus merencanakan bagaimana aplikasi Anda akan bereaksi jika tidak ada sensornya.

Jika keseluruhan aplikasi Anda punya akses ke sensor tertentu, Anda harus mencegah aplikasi tersebut dipasang di perangkat yang tidak memiliki sensor ini. Sebagai contoh, jika aplikasi Anda tidak berfungsi tanpa data dari sensor akselerometer, maka Anda harus menambahkan kode berikut ke Manifest proyek Anda:

Skenario lainnya adalah aplikasi Anda tidak membutuhkan sensor tertentu, tetapi memiliki fitur yang akan menggunakan data dari sensor jika ada. Jika ini terdengar seperti aplikasi Anda, maka Anda harus mendeklarasikan sensor ini dalam Manifest tetapi menandainya sebagai android:required="false". Selanjutnya aplikasi Anda bisa memeriksa apakah sensornya ada di runtime, dan menonaktifkan tiap fungsionalitas yang bergantung pada sensor yang tidak ada di perangkat pengguna.

Untuk menentukan sensor apa yang ada, Anda harus membuat sesuatu dari kelas SensorManager, lalu panggil metode getSystemService dan memasukkan argumen SENSOR_SERVICE:

Selanjutnya, Anda harus menulis daftar semua sensor yang ada, dengan memanggil getSensorListmethod dan menggunakan konstanta Sensor.TYPE_ALL:

Dengan informasi tersebut, Anda bisa menonaktifkan fitur aplikasi mana saja yang tergantung pada data dari sensor yang tidak ada di perangkat yang sedang dipakai.

Mengubah Ukuran dan Mendukung Mode Multi-Window Chrome OS

Di Chrome OS, aplikasi Android ditampilkan di jendela yang berbeda-beda sehingga para pengguna bisa berpindah dan berputar di antara tiga ukuran yang didukung berikut ini:

  • Portrait. Mirip dengan ukuran layar suatu Nexus 5.

  • Landscape. Ukuran layar mirip dengan Nexus 7.

  • Maximised. Aplikasi menggunakan ruang layar yang tersedia.

Ketika tiba saatnya menguji aplikasi di Chrome OS, Anda akan menginginkan untuk memastikan bahwa aplikasinya tampak baik dan berfungsi dengan benar di semua ukuran yang didukung, sebagai contoh dengan memeriksa apakah teks aplikasi Anda mudah dibaca dan semua elemen UI tetap dapat dicapai baik ketika pengguna menempatkan aplikasi di mode portrait, landscape, atau maximised.

Meskipun pengguna Chrome OS bisa melihat berbagai aplikasi Android dalam satu waktu, hanya satu aplikasi saja yang bisa difokuskan, jadi untuk menghemat baterai pengguna, aplikasi Anda harus menghentikan rendering ketika kehilangan fokus. Satu-satunya pengecualian adalah apabila aplikasnya memiliki konten yang harus secara terus menerus diperbarui. Sebagai contoh, jika Anda mengembangkan aplikasi yang memainkan musik atau video, maka mungkin Anda tidak ingin Activity ini berhenti ketika aplikasinya kehilanga fokus.

Jika Activity Anda harus memperbarui secara terus menerus ketika fokus di layar, Anda harus membuatnya jeda dengan onStop dan memulai lagi dengan onStart, bukannya menggunakan onPause.

Pertimbangkan Mengunakan Auto Backup

Chromebooks didesain sehingga pengguna bisa berpindah antar perangkat dengan mudah—mereka hanya butuh untuk masuk ke akun Googlenya dan semua aplikasi dan kontennya ada di sana, tak peduli apakah mereka pernah memakai Chromebook yang ini sebelumnya.

Karena inilah perilaku Chromebook yang diharapkan pengguna, seperti inilah seharusnya aplikasi Anda ketika berjalan di Chrome OS. Ini berarti Anda harus mencadangkan data aplikasi Anda secara online, bukannya hanya menyimpan secara lokal. Cara termudah adalah dengan menggunakan fitur Auto Backup Android, yang mengizinkan Anda menyimpan cadangan data Anda di akun Google Drive pengguna.

Jika aplikasinya menarget Android 6.0 ke atas, Auto Backup akan diaktifkan secara default. Meskipun demikian, ide yang bagus adalah selalu eksplisit tentang fitur yang digunakan aplikasi Anda (lagipula tidak ada jaminan bahwa Auto Backup akan diaktifkan secara default di versi-versi Android yang akan datang) jadi buka Manifest proyek Anda dan tambahkan kode berikut:

Untuk informasi lebih terperinci tentang mengimplementasikan cadangan dan pemulihan, lihat dokumen resmi Android.

Saatnya Menguji!

Meskipun Anda telah mengikuti praktek-praktek terbaik tersebut, Anda belum bisa yakin apakah aplikasi Anda akan memberikan pengalaman pengguna yang bagus di Chrome OS—kecuali Anda menguji aplikasi Anda di Chromebook sungguhan.

Pada saat artikel ini ditulis, Google merekomendasikan Anda menguji aplikasi yang siap dipakai di Chromebook terkait hal-hal tersebut:

  • Chromebook berbasis ARM

  • Suatu Chromebook berbasis x86 

  • Chromebook yang bisa dikonversi (bisa diubah bentuknya antara suatu laptop dan tablet).

  • Chromebook dengan dukungan layar sentuh.

  • Chromebook dengan dukungan "layar sentuh palsu".

Mari kita realistis: hampir tidak mungkin Anda punya akses ke banyak Chromebook. Ketika memutuskan Chromebook mana yang Anda bidik untuk menguji aplikasi, mungkin cukup membantu untuk melihat daftar Google tentang Chromebook yang kompatibel dengan Android yang ada di pasar.

Sebelum Anda bisa memasang aplikasi Android Anda di Chrome OS, Anda harus menyetel Chromebook ke mode Developer dan mengaktifkan pengaturan pemasangan dari sumber yang tidak diketahui.

Proses pastinya memasukkan Chromebook ke Mode Developer berbeda antar perangkat, jadi jika instruksinya tidak bekerja untuk model tertentu maka Anda harus mencari instruksi khusus perangkat tersebut di Chromium docs.

Untuk memasuki Mode Developer:

  1. Pastikan Chromebook Anda dalam kondisi dimatikan.

  2. Tahan tombol Esc dan Refresh sambil menekan tombol Power perangkat Anda. Chromebook Anda semestinya kemudian boot ke layar Recovery.

  3. Tekan tombol Control-D di keyboard Chromebook Anda.

  4. Ketika diminta, tekan tombol Enter.

  5. Tekan tombol Control-D sekali lagi.

Chromebook Anda sekarang akan memasuki Mode Developer.

Langkah berikutnnya adalah mengaktifkan sumber tak dikenal (Unknown Sources) dengan cara membuka Chrome Settings > App Settings > Security dan memilih Unknown Sources.

Begitu Anda menuntaskan langkah ini, Anda siap memasang APK (Android Application Package) yang ingin Anda uji. Untuk mentransfer dengan cepat APK ke Chromebook Anda, yang bisa dilakukan:

  • Masukkan APK ke Google Drive Anda.

  • Salin file APK ke folder Download Chromebook dengan suatu drive eksternal atau SD Card.

  • Kirim APK ke diri Anda sendiri melalui email.

Lalu, Anda harus mengunduh APK ke Chromebook dan membukanya dengan aplikasi Android File Manager (yang akan bisa Anda temukan dengan membuka Chrome Settings > App Settings > Device & USB > Explore)

Alternatifnya, Anda bisa mendorong APK dari perangkat pengembangan ke Chromebook dengan menggunakan perintah Android Debug Bride (ADB).

Agar ADB bisa berjalan dengan baik bersama Chrome OS dibutuhkan beberapa pengaturan, tetapi begitu Anda membuat koneksinya Anda bisa menggunakan ADB untuk mengeluarkan sejumlah perintah yang bisa cukup bermanfaat untuk menguji aplikasi Android Anda. (Untuk informasi lebih lanjut tentang perintah-perintah ADB, pelajari dokumen resmi Android)

Bekerja dengan Android Debug Bridge

Pengaturan awal ADB adalah suatu proses banyak tahap, jadi mari kita bahas satu per satu langkahnya:

1. Konfigurasi firewall Chrome OS untuk mengizinkan koneksi masuk ADB.

Luncurkan Chrome OS Terminal dengan menekan Control-Alt-T di keyboard Anda, lalu ketik shell untuk mendapatkan perintah shell.

Masukkan kata sandi Anda, lalu tuliskan perintah berikut melalui jendela Terminal:

Baca dokumen penafian (disclaimer). Jika Anda sudah bahagia dan siap melanjutkan, masukkan perintah selanjutnya:

Di tahap ini, Chromebook Anda akan memulai ulang (restart). Setelah Chromebook Anda selesai booting, buka lagi Terminal dan ketikkan:

2. Temukan alamat IP Chromebook Anda:

Mengaktifkan debugging ADB akan meminta alamat IP Chromebook Anda, jadi:

  • Klik ikon Network di kanan bawah layar Chromebook Anda.

  • Pilih jaringan yang Chromebook Anda saat ini terkoneksi dengannya.

  • Klik ikon i di bagian kanan bawah menu.

Di tahap ini akan muncul suatu kotak yang berisi alamat IP Chromebook Anda—catat itu karena nanti Anda akan membutuhkannya.

3. Aktifkan adb debugging.

Di Chromebook Anda, tuntaskan langkah-langkah berikut:

  • Klik ikon jam di kanan bawah layar.

  • Pilih Settings.

  • Di bagian Android Apps, klik tautan Manage your Android apps in Settings.

  • Klik About device.

  • Masuk ke mode Developer dengan mengklik Build number tujuh kali.

  • Klik tanda panah di bagian kiri atas jendela. Ini akan mengembalikan Anda ke layar Settings utama.

  • Klik Developer options.

  • Aktifkan ADB debugging dan lalu klik OK.

Selanjutnya, selesaikan tahap-tahap berikut di perangkat pengembangan Anda:

Buka jendela Terminal dan ubah direktori (cd) sehingga menunjuk ke lokasi program 'adb' Android SDK Anda.

Open a Terminal and point it in the direction of your Android SDKs platform-tools folder

Beritahu perangkat Anda untuk mendengarkan koneksi TCP/IP di port 22, dengan mengeluarkan perintah adb berikut:

Keluarkan perintah adb connect yang diikuti dengan alamat IP Chromebook Anda, sebagai contoh:

Di Chromebook, tekan Allow ketika diminta.

Yang tersisa tinggal mendorong APK dari perangkat pengembangan Anda ke Chromebook.

Di mesin pengembangan Anda, keluarkan perintah adb install, diikuti dengan lokasi dan nama file APK yang Anda ingin pasang, misalnya:

Nah, selesai! Aplikasi Android Anda sekarang sudah dipasang di Chromebook, siap untuk diuji!

Kesimpulan

Di artikel ini, kita melihat bagaimana cara memperbarui aplikasi Anda agar bisa berjalan di Chromebook, dan begitu bisa berjalan di platform baru tersebut, kita belajar cara mengoptimasinya untuk memberikan pengalaman pengguna yang lebih baik.

Mampu mengakses aplikasi favorit di smartphone, tablet, dan sekarang laptop adalah berita besar bagi para pengguna Chromebook, dan bagi Anda selaku seorang pengembang itu berarti potensi audiens yang lebih besar—siapa yang tidak menginginkannya?

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.