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
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
Emulasi Android Wear
Buat konfigurasi Android Wear AVD seperti berikut ini:
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:
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:
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.
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
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:
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:
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:
Berikut ini adalah contoh aplikasi universal yang berjalan di 3 platform sekaligus (TV, ponsel, dan Wear) sekaligus penggunaan CPU (lihat kecilnya overhead CPU):
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.