Mürekkepbalığı Nedir?
Cuttlefish , hem uzaktan (Google Cloud Engine gibi üçüncü taraf bulut tekliflerini kullanarak) hem de yerel olarak (Linux x86 makinelerinde) çalıştırılabilen yapılandırılabilir bir sanal Android cihazıdır.
mürekkep balığı hedefleri
- Platformu ve uygulama geliştiricisini, kod değişikliklerini geliştirmek ve doğrulamak için fiziksel donanıma bağımlı olmaktan kurtarın.
- Çekirdek çerçeve ile yakın hizalamayı sürdürerek yüksek kaliteliliğe odaklanarak gerçek bir cihazın çerçeve tabanlı davranışını çoğaltın.
- 28'den sonra tüm API seviyelerini destekleyin.
- Fiziksel donanımdaki davranışla uyumlu, API seviyelerinde tutarlı bir işlevsellik düzeyi sağlayın.
Ölçeği etkinleştir:
- Birden fazla cihazı paralel olarak çalıştırma yeteneği sağlayın.
- Daha düşük bir giriş maliyetiyle yüksek doğrulukla eşzamanlı test yürütmeyi etkinleştirin.
Form faktörünü, RAM'i, CPU'ları vb. ayarlama yeteneğine sahip yapılandırılabilir bir cihaz sağlayın.
Mürekkep Balığını diğer cihazlarla karşılaştırma
Mürekkepbalığı ve Android Emülatörü
Android Emulator ile pek çok benzerlik vardır, ancak Cuttlefish, Android çerçevesiyle tam uyumluluğu garanti eder (bu ister saf AOSP isterse kendi ağacınızdaki özel bir uygulama olsun). Gerçek dünya uygulamasında bu, Cuttlefish'in etkileşimlerinize aynı özelleştirilmiş veya saf Android işletim sistemi kaynağıyla oluşturulmuş fiziksel bir telefon hedefi gibi işletim sistemi düzeyinde yanıt vermesini beklemeniz gerektiği anlamına gelir.
Android Emulator, uygulama geliştirmeyi kolaylaştıran kullanım senaryosu etrafında inşa edilmiştir ve Android uygulama geliştiricisinin kullanım durumlarına hitap etmek için birçok işlevsel kanca içerir. Özelleştirilmiş Android çerçevenizle bir öykünücü oluşturmak istiyorsanız, bu size zorluklar getirebilir. Özel platform/çerçeve kodunuzu veya ağaç ucu Android'inizi temsil edecek bir sanal cihaza ihtiyacınız varsa, Cuttlefish ideal bir sanal seçenektir. AOSP geliştirmesinin mevcut durumunu temsil eden kurallı cihazdır.
Mürekkep balığı ve fiziksel cihaz
Bir Cuttlefish sanal aygıtı ile fiziksel aygıtınız arasındaki temel farklar, herhangi bir özel donanımla etkileşime giren herhangi bir yazılımın yanı sıra donanım soyutlama katmanı (HAL) düzeyindedir. Donanıma özel uygulamalar dışında, Cuttlefish ve fiziksel bir cihaz arasında işlevsel olarak eşdeğer bir davranış beklemelisiniz.
Mürekkepbalığı nasıl yardımcı olabilir?
Mürekkep Balığı ile, hata ayıklama için kullanabileceğiniz diğer herhangi bir Android cihazında olduğu gibi etkileşim kurabilirsiniz. Adb aracılığıyla kendini normal bir cihaz olarak kaydedecek ve uzak masaüstü üzerinden fiziksel bir cihaz gibi onunla etkileşime girebilirsiniz. Kullanım durumları geniştir ve uygulama testi, özel sistem oluşturma testi ve daha fazlasını kapsayabilir.
Cuttlefish, tam çerçeve aslına uygunluğu için çaba gösterdiğinden, öykünmesi imkansız fiziksel donanım bağımlılıklarının olmadığı durumlarda çerçevenizin ve/veya uygulamalarınızın işlevsel testi için kullanılabilir.
Mürekkepbalığı bugün test için yaygın olarak nasıl kullanılıyor?
Mürekkepbalığının test için bazı yaygın uygulamaları şunları içerir:
- CTS
- Çerçeve uyumluluğu
- Sürekli entegrasyon testi
- Özel test paketleri
Mürekkep balığını bulutta barındırabilir miyim?
Evet, Cuttlefish yerel olarak Google Cloud'u destekler ve diğer bulut platformları için destek planlanmaktadır.
Başlarken
AOSP'ye dayalı bir Mürekkep Balığı örneği oluşturmaya ilişkin rehberlik için Başlarken kılavuzuna bakın.