Perangkat Android virtual cumi-cumi

Cuttlefish adalah perangkat Android virtual yang dapat dikonfigurasi dan dapat berjalan dari jarak jauh (menggunakan penawaran cloud pihak ketiga seperti Google Cloud Engine) dan secara lokal (di komputer Linux x86 dan ARM64).

Sasaran cumi-cumi

  • Membebaskan platform dan developer aplikasi dari ketergantungan pada fisik perangkat keras untuk mengembangkan dan memvalidasi perubahan kode.
  • Replikasi perilaku berbasis framework dari perangkat asli dengan fokus pada fidelitas tinggi dengan mempertahankan keselarasan yang dekat dengan framework inti.
  • Mendukung semua level API setelah 28.
  • Berikan tingkat fungsi yang konsisten di seluruh API level, yang selaras dengan perilaku pada hardware fisik.
  • Aktifkan skala:

    • Memberikan kemampuan untuk menjalankan beberapa perangkat secara paralel.
    • Mengaktifkan eksekusi pengujian serentak dengan fidelitas tinggi dengan biaya entri yang lebih rendah.
  • Menyediakan perangkat yang dapat dikonfigurasi dengan kemampuan untuk menyesuaikan faktor bentuk, RAM, CPU, dll.

Membandingkan Cuttlefish dengan perangkat lain

Sotong dan Android Emulator

Ada banyak kesamaan dengan Android Emulator, tetapi Cuttlefish menjamin fidelitas penuh dengan framework Android (baik AOSP murni maupun implementasi kustom di hierarki Anda sendiri). Dalam dunia nyata ini berarti Sotong akan merespons interaksi pada tingkat OS sama seperti target ponsel fisik yang dibuat dengan sumber Android OS yang disesuaikan atau murni.

Android Emulator dibuat berdasarkan kasus penggunaan pembuatan aplikasi pengembangannya mudah, dan berisi banyak kaitan yang fungsional untuk menarik pengguna khusus untuk developer aplikasi Android. Hal ini dapat menimbulkan tantangan jika Anda ingin mem-build emulator dengan framework Android yang disesuaikan. Jika Anda memerlukan perangkat virtual yang akan mewakili kode platform/framework kustom atau Android tip-of-tree, Cuttlefish adalah opsi virtual yang ideal. Penting perangkat kanonis untuk mewakili status pengembangan AOSP saat ini.

Sotong dan perangkat fisik

Perbedaan utama antara perangkat virtual Cuttlefish dan perangkat fisik Anda berada di tingkat hardware abstraction layer (HAL), serta software apa pun yang berinteraksi dengan hardware kustom. Kecuali untuk implementasi khusus hardware, Anda akan melihat perilaku yang setara secara fungsional antara Cuttlefish dan perangkat fisik.

Bagaimana Cumi-cumi dapat membantu?

Anda dapat berinteraksi dengan Cuttlefish seperti yang Anda lakukan dengan perangkat Android lain yang mungkin Anda gunakan untuk proses debug. Operator ini akan terdaftar sebagai perangkat Anda melalui adb dan Anda dapat berinteraksi dengannya seperti perangkat fisik melalui jarak jauh {i>desktop<i}. Kasus penggunaannya luas dan dapat mencakup pengujian aplikasi, pengujian build sistem kustom, dan lainnya.

Karena Cuttlefish berusaha untuk mendapatkan {i>fidelity <i}dari {i>framework<i} sepenuhnya, {i>tool<i} ini dapat digunakan untuk pengujian fungsional framework atau aplikasi tanpa dependensi perangkat keras fisik yang tidak mungkin diemulasikan.

Bagaimana Cuttlefish biasanya digunakan untuk pengujian saat ini?

Beberapa aplikasi umum Cuttlefish untuk pengujian meliputi:

  • CTS
  • Kepatuhan framework
  • Pengujian continuous integration
  • Rangkaian pengujian kustom

Dapatkah saya menghosting Sotong di cloud?

Ya, Cuttlefish secara native mendukung Google Cloud dan dukungan untuk cloud lainnya platform ini direncanakan.

Memulai

Untuk panduan membuat instance Cuttlefish berdasarkan AOSP, lihat Menggunakan Cuttlefish.