Perangkat Android virtual cumi-cumi

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

Sasaran cumi-cumi

  • Bebaskan platform dan developer aplikasi dari ketergantungan pada hardware fisik untuk mengembangkan dan memvalidasi perubahan kode.
  • Buat replika perilaku berbasis framework dari perangkat sebenarnya yang berfokus pada fidelitas tinggi dengan mempertahankan keselarasan erat dengan framework inti.
  • Mendukung semua level API setelah 28.
  • Memberikan level fungsi yang konsisten di seluruh level API, yang selaras dengan perilaku pada hardware fisik.
  • Aktifkan skala:

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

Membandingkan Sotong dengan perangkat lain

Sotong dan Android Emulator

Ada banyak kesamaan dengan Android Emulator, tetapi Cuttlefish menjamin fidelitas penuh dengan framework Android (baik itu AOSP murni atau implementasi kustom di hierarki Anda sendiri). Dalam aplikasi sebenarnya, ini berarti Anda harus mengharapkan Cuttlefish merespons interaksi di tingkat OS seperti target ponsel fisik yang dibangun dengan sumber OS Android yang disesuaikan atau murni yang sama.

Android Emulator dibuat berdasarkan kasus penggunaan yang memudahkan pengembangan aplikasi, dan berisi banyak hook fungsional untuk menarik kasus penggunaan developer aplikasi Android. Hal ini mungkin 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. Ini adalah perangkat kanonis untuk merepresentasikan status pengembangan AOSP saat ini.

Sotong dan perangkat fisik

Perbedaan utama antara perangkat virtual Cuttlefish dan perangkat fisik Anda terletak pada tingkat hardware abstraksi layer (HAL), serta software apa pun yang berinteraksi dengan hardware kustom. Kecuali untuk implementasi khusus hardware, Anda harus mengharapkan perilaku yang setara secara fungsional antara Sittlefish dan perangkat fisik.

Bagaimana Cumi-cumi dapat membantu?

Anda dapat berinteraksi dengan Cuttlefish seperti yang Anda lakukan dengan perangkat Android lain yang mungkin digunakan untuk proses debug. Aplikasi akan mendaftarkan dirinya sebagai perangkat normal melalui adb dan Anda dapat berinteraksi dengannya seperti perangkat fisik melalui desktop jarak jauh. Kasus penggunaannya luas dan dapat mencakup pengujian aplikasi, pengujian build sistem kustom, dan lainnya.

Karena Cuttlefish berusaha mendapatkan fidelitas framework penuh, Cuttlefish dapat digunakan untuk pengujian fungsional atas framework atau aplikasi yang tidak memiliki dependensi hardware fisik yang tidak mungkin diemulasi.

Bagaimana Cuttlefish biasanya digunakan untuk pengujian saat ini?

Beberapa penggunaan Sotong yang umum untuk pengujian antara lain:

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

Dapatkah saya menghosting Sotong di cloud?

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

Mulai

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