Menggunakan Intel HAXM dalam Membuat Aplikasi Android Wear dan TV


Android telah berkembang pesat dari yang tadinya hanya untuk ponsel lalu ke tablet, Google TV, Android Wear, Android TV (menggantikan Google TV), hingga Android Auto. Ini menjadi tantangan yang besar bagi developer untuk membuat dan mengetes aplikasi mereka agar dapat berjalan di semua jenis perangkat tersebut.

Selain platform yang berbeda beda, ukuran dan resolusi layar juga berbeda-beda untuk Android. Ini akan cepat menjadi masalah yang kompleks bagi developer untuk verifikasi dan pengetesan aplikasi. Untuk memecahkan masalah ini, ada tool Intel HAXM yang bisa developer gunakan.

Intel Hardware Accelerated Execution Manager (HAXM) adalah emulator Android yang dibantu dengan hardware untuk menekan overhead, performa yang tinggi, dan latency yang kecil. Kamu dapat mempelajari lebih lanjut tentang Intel HAXM di sini: https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager

Dengan Intel HAXM, developer bisa memiliki banyak instance emulator Android sekaligus pada komputer mereka tanpa harus memikirkan tentang isu performa, load, atau latency. Ini akan sangat membantu dalam proses iteratif dari pengembangan dan pengetesan aplikasi sehingga berdampak pada produktifitas yang besar bagi developer.

Image emulator Android versi non-x86 akan memiliki waktu start-up yang lambat dan antarmuka yang tidak responsif. Tidak seperti emulator Android pihak ketiga lainnya, dengan Intel HAXM kamu dapat menggunakan semua versi dan platform Android API terbaru secepatnya ketika mereka dirilis.

Untuk petunjuk lengkap tentang Intel HAXM bisa membacanya di https://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture

Di artikel ini, kita akan melihat bagaimana developer dapat memanfaatkan emulator Intel HAXM ketika mengembangkan aplikasi Android yang universal yang menargetkan berbagai macam platform Android seperti Android Wear dan TV serta bermacam-macam perangkat.

Menggunakan Contoh Aplikasi Android Universal

Google baru-baru ini merilis contoh aplikasi universal untuk memperlihatkan bagaimana developer dapat menargetkan berbagai ukuran perangkat dengan basis kode yang sama.  Lihat tautan berikut untuk mempelajari lebih lanjut: https://github.com/googlesamples/android-UniversalMusicPlayer

Contoh aplikasi ini menampilkan beberapa cara terbaik untuk menargetkan berbagai ukuran perangkat dengan basis kode yang sama. Ikuti petunjuk pada tautan di atas untuk membuat aplikasinya. Kita akan menggunakannya untuk me-load instance x86 HAXM Emulator untuk TV, Wear, dan Phone pada artikel ini.

Proyek tersebut dapat langsung diimpor ke Android Studio dan developer dapat memanfaatkan fitur-fitur emulator yang terintegrasi. Jika kamu lebih senang dengan IDE lainnya, langkah berikut ini bisa bermanfaat.

Jika kamu nyaman dengan baris cmd, tinggal eksekusi skrip gradle build dari folder contoh kodingan.

gradlew assembleDebug

Apk-nya akan tersedia di folder “mobile/build/outputs/apk/mobile-debug.apk“.

Buat AVD untuk Android TV dan Wear

Pertama-tama pastikan kamu sudah mengunduh image emulator Android SDK terbaru untuk TV dan Wear serta image standar Android untuk ponsel atau tablet.

Buka Android SDK Manager. Kamu dapat mengeksekusinya dari baris cmd berikut (folder <Android-SDK>/tools harus menjadi folder aktifmu):

android

intel haxm - 01

Selanjutnya, kita perlu untuk membuat konfigurasi emulator (AVD) untuk menggunakan image di atas.

Buka Android Virtual Device Manager. Kamu dapat mengeksekusinya melalui baris cmd berikut:

android avd

intel haxm - 02

Emulasi Android Wear

Buat konfigurasi Android Wear AVD seperti berikut ini:

intel haxm - 03

Klik “OK” dan mulai emulator dengan mengklik “Start…” di tampilan AVD Manager, Sebuah screenshot dari emulator Wear setelah boot pertama dapat dilihat di bawah ini:

intel haxm - 04

Android Wear memerlukan aplikasi pendamping yang akan diinstal di ponselmu. Aplikasi ini hanya tersedia di toko Google Play, jadi kita perlu memiliki perangkat yang dapat mengakses tokonya. Aplikasinya dapat diunduh di tautan ini.

Kita perlu mengkonfigurasikan perangkatnya dengan adb debugging, dan baik emulator Wear dan perangkatnya muncul di daftar perangkat adb:

intel haxm - 05

Lalu, kita perlu mengirimkan tcp port dengan:

adb -d forward tcp:5601 tcp:5601

Emulator Wear-nya seharusnya sekarang dapat membuat koneksi ke perangkatmu. Screenshot di bawah ini menampilkan emulator Wear dalam status terkoneksi dan putus koneksi.

intel haxm - 06

Intruksi detail untuk membuat aplikasi Wear dapat ditemukan di tautan ini: http://developer.android.com/training/wearables/apps/creating.html

Seperti apk Android pada umumnya, kita dapat menginstal contoh apk aplikasi kita di emulator Wear menggunakan adb.

adb -s emulator-5554 install -r mobile\build\outputs\apk\mobile-debug.apk

Verifikasi bahwa aplikasinya sudah terinstal dan tersedia di emulator Wear menggunakan:

adb -s emulator-5554 shell pm list packages | grep example

intel haxm - 07

Nama paket untuk contoh aplikasi tersebut yaitu com.example.android.uamp sudah ada di daftar.

Kita bahkan dapat menjalankan aplikasinya secara manual di emulator Wear menggunakan:

adb -s emulator-5554 shell monkey -p com.example.android.uamp -c android.intent.category.LAUNCHER 1

Kita sekarang sudah memiliki contoh aplikasi yang berjalan di perangkat emulator Wear.

Emulasi Android TV

Buat konfigurasi emulator Android TV (AVD) seperti berikut ini:

intel haxm - 08

Klik “OK” dan mulai emulator TV dengan mengklik “Start…” di tampilan AVD Manager.

Kita dapat memverifikasi apakah emulatornya sudah dapat diakses melalui adb menggunakan:

adb devices

Catat id emulator (contoh: emulator-55xx), yang mana akan digunakan sebagai target untuk perintah adb. Instal apk menggunakan:

adb -s emulator-55xx install -r mobile\build\outputs\apk\mobile-debug.apk

Terakhir, jalankan aplikasinya di emulator Android TV menggunakan:

adb -s emulator-55xx shell monkey -p com.example.android.uamp -c android.intent.category.LAUNCHER 1

Contoh aplikasinya ketika berjalan di instance emulator Android TV:

intel haxm - 09

Developer dapat membuat sebanyak banyaknya konfigurasi atau instance emulator seperlunya.

Intel HAXM dapat dikonfigurasikan dengan ukuran memeori yang sesuai pada waktu instalasi.

Screenshot berikut menampilkan konfigurasi AVD untuk Wear, TV, dan ponsel:

intel haxm - 10

Berikut ini adalah contoh aplikasi universal yang berjalan di 3 platform sekaligus (TV, ponsel, dan Wear) sekaligus penggunaan CPU (lihat kecilnya overhead CPU):

intel haxm - 11

Developer bisa mengotak atik alokasi memori untuk optimalisasi lebih lanjut. Kita hanya sedikit menyentuh permukaan dari fitur-fitur emulator di artikel ini. Lihat artikel berikut untuk melihat opsi konfigurasi yang ada: http://developer.android.com/tools/help/emulator.html

Referensi

Untuk memastikan bahwa HAXM sudah diinstal dengan benar dan apakah sedang digunakan, lihat: https://software.intel.com/en-us/blogs/2014/10/20/how-to-ensure-you-are-using-intel-haxm-for-android-emulator

* Artikel ini adalah hasil kerja sama dengan Intel Developer Zone. Artikel asli bisa dilihat di link ini.