Mengapa Saya Mematikan Fitur Instant Run pada Android Studio

Radya Labs
Blackdesk
Published in
3 min readAug 19, 2016

Fitur Instant Run merupakan fitur yang relatif baru pada Android Studio. Fitur ini bertujuan untuk mempercepat proses run aplikasi ataupun debug pada Android Studio. Proses instalasi debug pada Android Studio dikenal cukup lambat, dari proses build APK debug sampai proses instalasai pada device ataupun emulator. Instant Run memperbaiki hal ini dengan mengubah proses instalasi keseluruhan APK untuk setiap run aplikasi menjadi instalasi kode yang berubah saja.

Pada kasus normal, fitur ini mampu membuat proses run menjadi sangat cepat, dapat terjadi hampir seketika. Untuk perubahan yang hanya terjadi di file xml view saja, Android Studio bahkan hanya perlu melakukan restart activity yang sedang berjalan. Hal ini sangat merupakan angin segar untuk developer android, terlebih lagi yang banyak bereksperimen dengan view melalui perubahan file xml.

Biasanya, pada awal session run atau debug, instant run membuat APK yang khusus untuk device atau emulator yang akan dijalankan. Hal ini memakan waktu lebih lama, tapi ini tidak masalah karena build dan run selanjutnya dapat berjalan dengan cepat. Walaupun begitu, dari pengalaman saya mengerjakan aplikasi Android, untuk kasus-kasus tertentu, hal diatas menjadi kelemahan yang fatal untuk fitur Instant Run ini.

Terdapat dua kasus yang membuat fitur ini menjadi terasa menyebalkan. Kasus pertama adalah ketika developer harus melakukan run kepada device yang sering harus dicopot dari laptop. Saya menggunakan device saya sendiri untuk menjalankan aplikasi yang saya buat. Ketika saya akan pergi makan atau shalat, tentu saya akan melepas device saya dari laptop. Ketika saya memasang kembali device saya ini, Instant Run mendeteksi ini sebagai session baru sehingga melakukan rebuild ulang APK untuk device tersebut. Hal ini juga terjadi jika kabel penghubung device tersebut tergeser atau terlepas. Android Studio yang biasanya langsung dapat melakukan run dengan cepat karena tidak ada perubahan kode, sebaliknya karena instant run aplikasi dibuild kembali dengan waktu yang cukup lama.

Kasus kedua adalah ketika proyek yang dilakukan adalah membuat library yang digunakan pada banyak aplikasi seperti Appsterize. Appsterize merupakan aplikasi yang didesain untuk dapat menciptakan aplikasi mobile dengan cepat. Setiap kali saya akan melakukan build dan run untuk aplikasi-aplikasi yang berbeda, Android Studio mendeteksi ini sebagai session yang baru. Hal ini menyebabkan banyak terjadinya build awal pada Instant Run yang memakan waktu cukup lama.

Saya juga menemukan beberapa bug yang saya duga terjadi karena fitur Instant Run ini. Kasusnya adalah sebagai berikut. saya melakukan run kemudian saya melepas device atau menekan tombol stop session pada Android Studio. Setelah itu saya melakukan uninstall aplikasi. Ketika melakukan run kembali, Android Studio tidak mendeteksi bahwa di device saya sudah tidak terinstall aplikasi tersebut, kemudian Android Studio berusaha menjalankan aplikas tersebut. Hal yang terjadi adalah error. Cara untuk memperbaiki ini adalah dengan melakukan perubahan kode, atau melakukan Clean and Rebuild yang memakan waktu cukup lama ataupun restart Android Studio.

Hal tidak nyaman berikutnya adalah APK yang telah di Build tidak dapat diinstal di device lain karena Build yang dilakukan adalah incremental khusus untuk device yang dituju. Kasus lain yang serupa adalah APK tidak dapat diinstal di device dibawah Android versi terbaru karena device tersebut belum mendukung fitur Instant Run. Hal yang dilakukan untuk masalah ini adalah dengan memilih opsi Build APK yang memakan waktu cukup lama juga.

Berdasarkan hal-hal tersebut, saya mengambil kesimpulan untuk tidak menggunakan fitur Instant Run. Jika anda ingin mematikan fitur Instant Run Ini, maka pastikan versi Android Studio anda adalah 2.1.2 ataupun lebih tinggi. Karena di versi sebelumnya, Instant Run menjadi fitur default yang tidak dapat dinon aktifkan. Berikut langkah-langkahnya :

  • Buka halaman setting atau preferences. Untuk windows ada di menu File > Settings, sedangkan untuk Mac ada pada menu Android Studio > Preferences
  • Pilih menu Build, Execution, Deployment > Instant Run
  • Hilangkan centang pada bagian Enable Instant Run dan Restart Activity on Code Change

Fitur yang harusnya mempercepat dan mempermudah, berakibat mempersulit dan membuat lebih lama karena belum menangani kasus-kasus tertentu. Pada akhirnya, kita sebagai user lah yang menentukan akan memakai fitur tersebut atau tidak. Saya sendiri mungkin untuk proyek lain akan memilih untuk menggunakan fitur tersebut.

Jika ada yang menemukan hal berbeda dari saya, yuk kita bisa diskusi di bagian komentar :D. Diskusi juga bisa di halaman facebook saya.

Cheers.

--

--