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 (pada mesin Linux x86).
Tujuan sotong
- Bebaskan platform dan pengembang aplikasi dari ketergantungan pada perangkat keras fisik untuk mengembangkan dan memvalidasi perubahan kode.
- Meniru perilaku berbasis framework dari perangkat nyata dengan fokus pada fidelitas tinggi dengan mempertahankan keselarasan erat dengan framework inti.
- Mendukung semua level API setelah 28.
- Sediakan tingkat fungsionalitas yang konsisten di seluruh tingkat API, selaras dengan perilaku pada perangkat keras fisik.
Aktifkan skala:
- Memberikan kemampuan untuk menjalankan beberapa perangkat secara paralel.
- Aktifkan eksekusi pengujian bersamaan dengan fidelitas tinggi dengan biaya masuk yang lebih rendah.
Berikan perangkat yang dapat dikonfigurasi dengan kemampuan untuk menyesuaikan faktor bentuk, RAM, CPU, dll.
Bandingkan Sotong dengan perangkat lain
Sotong dan Android Emulator
Ada banyak kesamaan dengan Android Emulator , tetapi Sotong menjamin kesetiaan penuh dengan kerangka kerja Android (apakah ini AOSP murni atau implementasi khusus di pohon Anda sendiri). Dalam aplikasi dunia nyata, ini berarti Anda harus mengharapkan Cuttlefish merespons interaksi Anda di tingkat OS seperti target ponsel fisik yang dibuat dengan sumber OS Android murni atau khusus yang sama.
Android Emulator telah dibangun di seputar kasus penggunaan untuk membuat pengembangan aplikasi menjadi mudah, dan berisi banyak pengait fungsional untuk menarik kasus penggunaan pengembang aplikasi Android. Ini mungkin menghadirkan tantangan jika Anda ingin membuat emulator dengan kerangka kerja Android yang disesuaikan. Jika Anda memerlukan perangkat virtual yang akan mewakili kode platform/kerangka kerja khusus Anda atau Android tip-of-tree, maka Cuttlefish adalah opsi virtual yang ideal. Ini adalah perangkat kanonik untuk mewakili keadaan pengembangan AOSP saat ini.
Sotong dan perangkat fisik
Perbedaan utama antara perangkat virtual Cuttlefish dan perangkat fisik Anda berada pada tingkat lapisan abstraksi perangkat keras (HAL), serta perangkat lunak apa pun yang berinteraksi dengan perangkat keras khusus apa pun. Kecuali untuk implementasi khusus perangkat keras, Anda harus mengharapkan perilaku yang setara secara fungsional antara Cuttlefish dan perangkat fisik.
Bagaimana Sotong dapat membantu?
Anda dapat berinteraksi dengan Cuttlefish seperti yang Anda lakukan dengan perangkat Android lain yang mungkin Anda gunakan untuk debugging. Itu 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 pembuatan sistem kustom, dan banyak lagi.
Karena Cuttlefish mengupayakan kesetiaan kerangka kerja penuh, ini dapat digunakan untuk pengujian fungsional kerangka kerja dan/atau aplikasi Anda di mana tidak ada ketergantungan perangkat keras fisik yang tidak mungkin ditiru.
Bagaimana Sotong biasa digunakan untuk pengujian hari ini?
Beberapa aplikasi umum Sotong untuk pengujian meliputi:
- CTS
- Kepatuhan kerangka kerja
- Pengujian integrasi berkelanjutan
- Suite uji khusus
Bisakah saya menampung sotong di awan?
Ya, Cuttlefish secara native mendukung Google Cloud dan direncanakan untuk mendukung platform cloud lainnya.
Mulai
Untuk panduan membuat instans Cuttlefish berdasarkan AOSP, lihat Menggunakan Cuttlefish .