Lompat ke konten utama

Android Emulator Terminal: Panduan Praktis Lengkap

Belajar menguasai terminal emulator Android dengan adb shell, perintah console, pengaturan porta, dan tips troubleshooting untuk Windows, macOS, dan Linux pada tahun 2026.

Martin Donadieu

Martin Donadieu

Pengembang Konten

Android Emulator Terminal: Panduan Praktis Lengkap

Emulator Anda terbuka, aplikasi Anda terjebak di layar hitam, dan kontrol GUI tidak membantu. Atau mungkin Anda sedang menatap pekerjaan CI yang tidak memiliki tampilan sama sekali, dan satu-satunya hal yang tersisa adalah prompt terminal dan perangkat virtual yang perlu di-boot, menerima perintah, dan berperilaku sama setiap kali. Itu di mana terminal emulator Android berhenti menjadi kemudahan dan menjadi kontrol penerbangan yang Anda andalkan.

Perubahan penting ini sederhana, terminal bukan hanya cara lain untuk mengklik tombol yang sama. Alat emulator Google memberikan lapisan terpisah untuk peluncuran, kerja shell, dan kontrol console, dan setiap lapisan menyelesaikan kelas masalah yang berbeda. Jika Anda menganggapnya sebagai satu hal, skrip menjadi tidak stabil, flag yang lebih tua terus-menerus menyelinap ke dalam alur kerja Anda, dan CI bermasalah dalam cara yang terlihat acak tetapi tidak.

Daftar Isi

Mengapa Anda Membutuhkan Terminal Emulator Android

Saat GUI terhenti, kasus yang jelas. Jendela emulator masih terbuka, tetapi Anda tidak dapat mempercayainya, Anda tidak dapat mengklik melalui itu, dan alur kerja itu tidak dapat diperluas ke server pembangunan. Terminal mengatasi bagian yang jendela tidak dapat lakukan, yaitu ketepatan ulang. Dokumen emulator Google menggambarkan baris perintah dan konsol sebagai alat untuk otomatisasi dan kendali jarak jauh, dengan sintaks peluncuran seperti emulator -avd avd_name atau emulator @avd_nameplus daftar pilihan yang tersedia melalui emulator -help Referensi perintah garis perintah Android Emulator.

Mengapa tim mengadopsi standar terminal

Kali pertama hal ini berpengaruh biasanya tidak glamor. Skrip QA memerlukan perangkat bersih, seorang pengembang memerlukan AVD yang sama untuk boot di Linux dan macOS, atau runner CI harus mengaktifkan target tes tanpa siapa pun menonton jendela. Pada titik itu, emulator berhenti berperilaku seperti aplikasi desktop dan mulai berperilaku seperti infrastruktur.

Aturan praktis: Jika tugas harus diulang, dicatat, atau dipulihkan setelah gagal, gunakan jalur terminal terlebih dahulu.

Google juga menempatkan emulator di samping adb dalam set alat perintah garis perintah resmi, yang berpengaruh karena otomatisasi Android adalah stack antarmuka, bukan satu antarmuka yang berusaha melakukan segalanya Alat adb dan emulator AndroidPakai adb untuk inspeksi perangkat dan akses shell, kemudian gunakan konsol emulator untuk kontrol siklus hidup dan perintah emulator khusus. Menggabungkan peran-peran tersebut adalah cara skrip menjadi rapuh.

Mitos lain yang perlu dibuang adalah bahwa terminal emulator hanya merupakan wrapper sekitar GUI. Ini tidak benar. Konsol telah diverifikasi, terikat ke port localhost, dan mendukung perintah seperti avd start, avd stop, avd status, pingdan rotate . Itu sebabnya mengapa mengalami perilaku seperti kontrol plane yang berkualitas profesional, bukan sandbox pemula.Untuk aliran kerja hybrid dan __CAPGO_KEEP_0__ , disiplin yang sama sangat penting sebelum Anda menginstal atau memperbaiki apa pun. Lihat

Pengaturan Android untuk Capacitor aplikasi Android setup for Capacitor apps Mengaktifkan Emulator dari Baris Perintah

Perintah pertama yang penting adalah yang menunjukkan apa yang sudah tersedia. Jalankan

pilih AVD yang Anda inginkan, kemudian jalankan dengan emulator -list-avdsatau emulator -avd <name> . Jika jalur ke file biner tidak ada di PATH shell Anda, cari di direktori emulator Android __CAPGO_KEEP_0__ pada Windows, macOS, atau Linux, kemudian jalankan secara langsung dari sana. emulator @<name>. If the path to the binary isn’t on your shell PATH, find it inside the Android SDK’s emulator directory on Windows, macOS, or Linux, then run it directly from there.

Seorang pengembang mengetikkan perintah CLI pada layar komputer laptop sambil bekerja di meja kayu.

Flag-Flag Penerbangan yang Masih Berlaku

Mulai dari awal yang bersih adalah perbedaan antara menjalankan aplikasi yang seimbang dan sesi debugging yang menghabiskan pagi hari. Dalam pekerjaan sehari-hari, flag-terminal yang berguna adalah yang membuat perilaku boot dapat diprediksi, terutama untuk CI dan host tanpa pengguna. -no-window adalah jalur tanpa pengguna, -no-snapshot memaksa keadaan yang bersih, -no-audio dan -no-boot-anim menghilangkan kebisingan yang tidak perlu, dan -gpu swiftshader_indirect adalah fallback yang praktis ketika akselerasi perangkat keras tidak tersedia.

Comb Integrasi ini adalah perbedaan antara “emulator dimulai” dan “emulator dimulai dalam cara yang dapat dipercaya oleh pipeline.” Perintah penerbangan menjadi bagian dari kontrak pengujian, bukan hanya wrapper kenyamanan. Jika Anda membawa perangkat untuk alur kerja aplikasi Capacitor atau hybrid, disiplin penerbangan yang sama berlaku sebelum langkah debugging atau instalasi dimulai. Panduan pengaturan Android yang praktis untuk pengembang Capacitor adalah sebaiknya disimpan di samping perintah emulator Anda.

Mulai dari daftar perangkat, bukan dari memori

Kesalahan yang paling sering saya lihat adalah mengasumsikan hal-hal sebelum memeriksa apa yang dimiliki mesin. Membuat daftar AVD terlebih dahulu menghemat waktu karena memberitahu Anda apakah gambar yang Anda inginkan ada dan apakah shell Anda dapat melihatnya. Kemudian Anda meluncurkan satu perangkat yang diketahui, mengamati jalur boot, dan hanya setelah itu Anda menyesuaikan flag.

Kebiasaan berguna: Jaga satu perintah peluncuran bersih untuk pekerjaan lokal dan satu perintah yang lebih ketat untuk CI. Jangan biarkan pipa aliran mengikuti setiap flag kenyamanan dari laptop Anda.

Penyimpanan itu menjaga debugging lokal ramah tanpa membuat otomatisasi menjadi kotor. Setelah peluncuran stabil, alur kerja terminal lainnya akhirnya memiliki sesuatu yang dapat diandalkan untuk dihubungkan.

Mengemudi Emulator dengan Shell ADB

Setelah emulator diaktifkan, ADB menjadi permukaan kontrol yang Anda gunakan paling sering. adb devices menunjukkan apa yang terhubung, dan adb -s emulator-5554 shell memungkinkan Anda menargetkan satu instance spesifik pada satu port tertentu. Hal itu penting pada mesin dengan beberapa perangkat virtual, karena perintah umum dapat dengan mudah menabrak target yang salah. Nomor serial menjaga otomatisasi Anda tertuju pada emulator yang Anda maksudkan.

Infografis tiga langkah yang menunjukkan proses aliran perintah shell ADB untuk pengelolaan dan pengembangan emulator Android.

Hubungkan, kemudian putuskan apakah Anda membutuhkan shell

Pemisahan antara perintah satu kali dan shell interaktif lebih penting daripada yang tampak pada awalnya. Jika Anda hanya membutuhkan untuk memeriksa pengaturan atau mengumpulkan file, perintah tunggal dapat digunakan adb shell perintah lebih bersih. Jika Anda sedang menelusuri perilaku aplikasi langkah demi langkah, masuk ke dalam shell interaktif dan tinggalkan sampai pekerjaan selesai.

adb push dan adb pull menangani pergerakan file, adb install -r adalah jalur praktis untuk tes lokal yang diulang, dan adb exec-out screencap memberikan rute tangkapan layar yang dapat diandalkan. Perekaman layar melalui adb shell screenrecord sebenarnya tidak kalah langsung ketika Anda membutuhkan artefak cepat dari jalur yang gagal. Untuk aliran pemasangan paket dan side-loading lokal, ini adalah panduan instalasi yang berguna.

Pakai adb untuk pekerjaan aplikasi, bukan pekerjaan siklus emulator

adb adalah layer yang tepat untuk perintah yang berjalan di dalam Android itu sendiri. Jika Anda memiliki skrip yang disimpan di penyimpanan bersama, adb shell sh /sdcard/run.sh cocok dengan stack otomatisasi yang nyata. Ini juga adalah layer di mana run-as <package> menjadi berguna untuk build debug, karena memberikan file aplikasi pribadi tanpa memaksa root.

Penggunaan batasannya sederhana. adb tidak menggantikan konsol emulator, dan bukan alat yang tepat untuk kendali siklus emulator yang lebih dalam atau aksi konsol saja. Gunakan untuk transfer file, manajemen paket, eksekusi perintah, dan penyelidikan cepat, lalu berhenti di sana.

Aturan praktis: jika aksi tersebut termasuk Android, mulai dengan adb shellJika aksi tersebut termasuk emulator itu sendiri, gunakan konsol.

Untuk tim yang bekerja di lapisan plugin, perilaku platform, dan pertanyaan keadaan perangkat, alat debug yang lebih luas membantu menjaga pekerjaan terminal dari berubah menjadi spekulasi. Sumber debug ini cocok berada di samping alur adb.


Menggunakan Konsol Emulator Lebih dari adb

Konsol emulator adalah kontrol plane yang terpisah, dan perbedaan itu penting. Google mendokumentasikannya sebagai mendengarkan hanya di porta lokal 5554 sampai 5585, dengan autentikasi yang diperlukan sebelum perintah diterima, dan dengan perintah seperti avd start, avd stop, avd status, ping, dan rotate tersedia setelah Anda masuk. Hal itu membuatnya alat yang tepat untuk aksi emulator-level yang tidak dapat mengekspresikan dengan jelas. adb Infografis berjudul Dasar-Dasar Konsol Emulator menampilkan empat langkah berurutan untuk mengontrol emulator Android melalui terminal.

Autentikasi sebelum Anda mengirimkan sesuatu yang berguna.

Jalan yang didokumentasikan oleh Google adalah untuk terhubung dengan

, tunggu telnet localhost console-port, lalu keluarkan OKmenggunakan token yang disimpan di auth auth_token . Jika file token tersebut tidak ada, maka koneksi telnet menciptakannya dengan token acak. Dalam lingkungan CI sementara, itu berarti Anda harus menyimpan file secara sengaja atau mengatur ulang secara sadar, karena gagal autentikasi tiba-tiba hampir selalu merupakan kesalahan manajemen state. ~/.emulator_console_auth_tokenKonsol juga dapat ditemukan.

, dan help, help commandada alasan mereka, dan mereka dapat menghemat waktu ketika Anda memeriksa perintah mana yang diterima emulator. Itu adalah kebiasaan yang lebih baik daripada menebak dan berharap. help-verbose available once you’re in. That makes it the right tool for emulator-level actions that can’t cleanly express. adb Bisa ditangani kemudian.

Tahu apa yang masuk ke konsol

Perintah konsol digunakan untuk siklus hidup dan keadaan sisi emulator. avd start dan avd stop adalah contoh yang jelas, tetapi rotate dan ping sama-sama berguna ketika Anda memeriksa responsif atau mengulangi perubahan perangkat. Emulator bekerja seperti infrastruktur dalam konteks ini, karena Anda dapat menulis siap dan shutdown di tempat yang sama Anda menulis startup.

Kesalahan umum adalah mencampur konsol emulator dengan Android shell. Mereka terlihat mirip dari jarak jauh, tetapi protokolnya berbeda. Konsol terautentikasi dan terikat port, sementara akses shell biasanya diatur melalui adb shell, sehingga skrip memerlukan waktu tunggu yang berbeda dan penanganan gagal yang berbeda. Untuk keandalan terminal dalam alur kerja spesifik platform, sumber daya debugging ini cocok dengan periksa kesiapan konsol.

Gate otomatis yang baik: Jangan menjalankan tes hanya pada proses peluncuran. Mulai mereka hanya setelah tangan telepon berhasil dan perangkat virtual melaporkan status yang Anda harapkan.

Keputusan itu menghilangkan banyak kesalahan flaky “diboot tapi tidak siap” sebelum mereka pernah mengenai suite tes Anda.

Aplikasi Terminal dan Akses Root di Dalam Emulator

Sekaligus, pekerjaan itu milik di dalam VM, bukan di host. Dalam kasus itu, menginstal aplikasi terminal nyata di dalam emulator adalah langkah yang paling sederhana, dan Termux adalah pilihan standar. Ini memberikan Anda lingkungan shell perangkat yang lebih dekat dengan alur kerja Unix nyata daripada mengetuk di layar pengaturan.

Akses Root ketika gambar memungkinkannya

Akses root bergantung pada gambar, bukan sihir. Pada gambar sistem yang memungkinkannya, adb root dan adb shell su membawa Anda ke tempat yang Anda butuhkan, tetapi gambar Google Play standar biasanya bukan tempat untuk menunggu akses root yang nyaman. AVD kustom biasanya lebih fleksibel ketika Anda membutuhkan akses yang lebih dalam.

BusyBox masih berguna di lapisan ini karena mengisi celah di set perintah yang Anda akan kehilangan. Jika Anda melakukan inspeksi file, skrip perangkat, atau diagnostik cepat di dalam emulator, toolkit Unix yang lebih lengkap membuat mesin terasa jauh lebih tidak terikat. Pemeriksaan akses root terkait untuk proyek Capacitor dibahas dalam petunjuk plugin ini.

Gunakan akses pribadi aplikasi sebelum Anda mengangkat

Tidak setiap masalah membutuhkan akses root. Untuk bangun debug, adb shell run-as <package> sering kali sudah cukup untuk memeriksa direktori pribadi aplikasi tanpa memperluas spektrum kerusakan. Itu adalah kebiasaan yang lebih bersih karena menjaga alur kerja Anda sesuai dengan alat yang paling lemah yang masih dapat melakukan pekerjaan tersebut.

Jika Anda membutuhkan penulisan sistem, partisi sistem harus dapat ditulis, dan itu adalah kelas konfigurasi yang berbeda. Untuk pekerjaan emulator sehari-hari, sisi host adb shell tetap merupakan titik awal yang lebih baik, dan terminal perangkat yang lebih baik dianggap sebagai lapisan yang khusus untuk kasus-kasus di mana akses host tidak cukup. Aturan jari yang sederhana adalah gunakan otoritas yang paling kecil yang masih dapat mereproduksi bug.

Pengaturan Jaringan, Pengalihan Port, dan Pintasan Tombol

Alur kerja emulator yang berfokus pada terminal menjadi nyata segera setelah lalu lintas harus melewati batas sisi host. adb reverse tcp:8080 tcp:8080 adalah cara yang paling bersih untuk menunjuk emulator ke server pengembangan lokal yang berjalan di mesin Anda, terutama ketika aplikasi mengharapkan untuk menghubungi kembali layanan host. adb forward mengatasi kasus yang berlawanan, di mana lalu lintas dari perangkat perlu mencapai pendengar di sisi host.

Pilih arah yang tepat sebelum Anda debug layer yang salah

Banyak waktu yang terbuang datang dari menggambarkan setiap masalah jaringan sebagai “masalah emulator.” Dalam prakteknya, arah port sering kali salah. adb reverse mengizinkan emulator mencapai layanan host, sementara adb forward mengirimkan lalu lintas perangkat ke arah port host, sehingga jalur koneksi menentukan perintah mana yang berlaku.

Jika koneksi masih terlihat tidak stabil, periksa tabel jalur di dalam VM adb shell ip route dan memeriksa antarmuka dengan ifconfig. Ketika routing terlihat normal tetapi layanan masih menolak koneksi, biasanya masalah terletak pada pendengar host atau dalam pengaturan forwarding, bukan pada Android itu sendiri. Untuk melihat secara lebih luas bagaimana gangguan lalu lintas lokal mempengaruhi apa yang Anda lihat selama debugging, ini penjelasan keterlambatan jaringan yang berguna. pengendalian keyboard adalah bagian dari cerita terminal

Peta keyboard Google mengubah emulator menjadi target desktop yang lebih baik.

F2 membuka Menu, ESC berfungsi sebagai Back, F7 menangani Power, dan __CAPGO_KEEP_0__ Alt-Enter mengaktifkan layar penuh. Peta yang sama juga mencakup kontrol kamera, volume, dan orientasi, sehingga banyak perilaku perangkat tetap berada di keyboard daripada disembunyikan di toolbar.

Hal ini penting pada laptop dan monitor besar. Saat permukaan kontrol hidup di keyboard, emulator mulai berperilaku seperti alat yang dapat digunakan sepanjang hari, bukan jendela yang selalu digeser dengan mouse.

Flag yang Tidak Digunakan Lagi Apa yang Dulu Dilakukan Pengganti Modern
-audio-in Mengaktifkan kontrol input suara Hapus dari skrip peluncuran, tidak lagi berfungsi dalam dokumen saat ini
-audio-out Mengaktifkan kontrol output suara Hapus dari skrip peluncuran, tidak lagi berfungsi dalam dokumen saat ini
-enable-kvm Mengajukan jalur virtualisasi Hapus dari skrip peluncuran, tidak lagi berfungsi dalam dokumen saat ini
-gps Mengendalikan perilaku GPS Hapusnya dari skrip peluncuran, tidak lagi berfungsi dalam dokumen saat ini
-skin Atur warna perangkat Hapusnya dari skrip peluncuran, tidak lagi berfungsi dalam dokumen saat ini
-skindir Mengarahkan ke direktori kulit Hapusnya dari skrip peluncuran, tidak lagi berfungsi dalam dokumen saat ini
-useaudio Menyalakan penggunaan audio Hapusnya dari skrip peluncuran, tidak lagi berfungsi dalam dokumen saat ini

Google menyebutkan flag-flag tersebut tidak lagi berfungsi dalam dokumen emulator saat ini, sehingga snippet lama cenderung membusuk dengan cepat ketika dicopy ke skrip baru Catatan perintah baris emulator saat iniJika Anda masih memiliki mereka dalam skrip shell bersama, hapusnya dan tes peluncuran lagi

Mengatasi masalah dan alur kerja Terminal 2026

layar hitam, offline, unauthorized, KO: missing authkonflik porta, dan snapshot yang ketinggalan waktu adalah kumpulan kegagalan yang biasa. Solusi-solusi ini sederhana ketika Anda mampir gejala ke penyebab. Boot yang terjebak sering kali menunjukkan keadaan snapshot, sementara gagal autentikasi konsol biasanya berarti file token atau tangan-berjabat tidak sinkron.

Screenshot dari https://capgo.app

Pemecahan masalah satu baris untuk kegagalan yang menghabiskan waktu paling banyak

Jika emulator tidak pernah melampaui layar hitam, restart dengan jalur peluncuran yang bersih dan buang keadaan yang ketinggalan waktu. Jika adb mengatakan offline atau unauthorized, reconnect perangkat dan pastikan bahwa host dan instance emulator masih sesuai. Jika konsol mengembalikan KO: missing auth, periksa file token dan jalur tangan-berjabat terlebih dahulu, karena konsol tidak akan menerima perintah sampai langkah itu benar.

Konflik porta biasanya menandakan bahwa emulator sebelumnya tidak keluar dengan bersih, sehingga porta yang terisi harus dibersihkan sebelum menjalankan lagi. Jika boot tidak pernah selesai, asumsikan drift snapshot sampai dibuktikan sebaliknya dan paksa mulai yang deterministik. Kebiasaan ini, lebih dari apa pun flag individu, adalah yang membuat alur terminal dapat diandalkan pada 2026.

Tangani alur seperti sistem, bukan sekumpulan klik

Gaya yang tahan lama adalah boot yang prediktif, akses konsol yang terautentikasi, adb shell untuk pekerjaan aplikasi, dan jalur pengembalian ketika keadaan berubah. Itu adalah disiplin di balik iterasi mobile yang cepat, baik Anda sedang menguji aplikasi native atau mengirimkan pembaruan ke aplikasi Capacitor melalui pipeline rilis yang dikendalikan.

Kepercayaan adalah keuntungan. Setelah terminal emulator dihubungkan sebagai control plane, Anda tidak lagi bertanya apakah jendela responsif dan mulai bertanya apakah keadaan perangkat tepatnya apa yang diharapkan tes.


Jika Anda sedang membangun aplikasi mobile yang memerlukan jalur rilis yang dapat diandalkan dan jalur pemulihan bersamaan dengan pengujian yang dikendalikan emulator, Capgo memberikan tim sebuah cara cepat untuk mengirimkan perbaikan JavaScript, CSS, konfigurasi, dan aset tanpa harus menunggu tinjauan toko. Capgo __CAPGO_KEEP_0__

Pembaruan langsung untuk aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo bukan menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan pembaruan di latar belakang sementara perubahan native tetap dalam jalur review normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk menciptakan aplikasi mobile profesional yang sebenarnya.