Cuttlefish hem uzaktan (Google Cloud Engine gibi üçüncü taraf bulut hizmetlerini kullanarak) hem de yerel olarak (Linux x86 ve ARM64 makinelerinde) çalışabilen, yapılandırılabilir bir sanal Android cihazdır.
Mürekkep balığının hedefleri
- Platformu ve uygulama geliştiriciyi, kod değişikliklerini geliştirmek ve doğrulamak için fiziksel donanıma bağlı kalmaktan kurtarın.
- Temel çerçeveyle uyumluluğu koruyarak yüksek kaliteye odaklanarak gerçek bir cihazın çerçeve tabanlı davranışını çoğaltın.
- 28'den sonra tüm API düzeyleri desteklenir.
- API düzeylerinde, fiziksel donanımdaki davranışla uyumlu tutarlı bir işlev düzeyi sağlayın.
Ölçeği etkinleştir:
- Aynı anda birden fazla cihazı çalıştırma becerisi sağlar.
- Daha düşük giriş maliyetiyle yüksek doğrulukla eş zamanlı test yürütmeyi etkinleştirin.
Form faktörü, RAM, CPU gibi öğeleri ayarlayabilen, yapılandırılabilir bir cihaz sağlayın.
Mürekkep balığı ile diğer cihazları karşılaştır
Mürekkep Balığı ve Android Emülatörü
Android Emulator ile pek çok benzerlik vardır ancak Cuttlefish Android çerçevesinin tam kalitesini garanti eder (bu ister AOSP ister kendi ağacınızda özel bir uygulama olsun). Gerçek hayattaki uygulamada bu, Cuttlefish'in etkileşimlerinize aynı özelleştirilmiş veya sadece Android OS kaynağıyla oluşturulmuş fiziksel bir telefon hedefi gibi aynı işletim sistemi düzeyinde yanıt vermesini beklemeniz gerektiği anlamına gelir.
Android Emulator, uygulama geliştirmeyi kolaylaştırmak için kullanım alanı temel alınarak tasarlanmıştır ve Android uygulama geliştiricinin kullanım alanlarına hitap edecek birçok işlevsel kanca içerir. Özelleştirilmiş Android çerçevenizle bir emülatör oluşturmak isterseniz bu durum sizi zorlayabilir. Özel platform/çerçeve kodunuzu veya ağaç ucu Android'i temsil edecek sanal bir cihaza ihtiyacınız varsa Cuttlefish ideal sanal seçenektir. AOSP geliştirmenin mevcut durumunu gösteren standart bir cihazdır.
Mürekkep balığı ve fiziksel cihaz
Cuttlefish sanal cihazıyla fiziksel cihazınız arasındaki temel farklar, donanım soyutlama katmanı (HAL) düzeyinde ve özel donanımlarla etkileşime giren yazılımlardır. Donanıma özel uygulamalar hariç, Cuttlefish ile fiziksel bir cihaz arasında işlevsel olarak eşdeğer davranış bekleyebilirsiniz.
Mürekkep balığı nasıl yardımcı olabilir?
Cuttlefish ile, hata ayıklama için kullanabileceğiniz diğer Android cihazlarda olduğu gibi etkileşim kurabilirsiniz. Kendisini adb aracılığıyla normal bir cihaz olarak kaydeder ve uzak masaüstü aracılığıyla fiziksel bir cihaz gibi etkileşimde bulunabilirsiniz. Kullanım alanları geniştir ve uygulama testi, özel sistem derlemesi testi ve daha fazlasını kapsayabilir.
Cuttlefish tam çerçeve doğruluğunu sağlamaya çalıştığı için, emülasyonu imkansız olan fiziksel donanım bağımlılığının olmadığı çerçevenizin veya uygulamalarınızın işlevsel testleri için kullanılabilir.
Mürekkep balığı bugün testlerde yaygın olarak nasıl kullanılıyor?
Mürekkep balığının test amaçlı bazı yaygın uygulamaları şunlardır:
- CTS
- Çerçeve uygunluğu
- Sürekli entegrasyon testi
- Özel test paketleri
Bulutta Mürekkep balığı barındırabilir miyim?
Evet. Cuttlefish yerel olarak Google Cloud'u destekliyor ve diğer bulut platformları için destek sunulması planlanıyor.
Başlayın
AOSP'ye dayalı bir Mürekkep balığı örneği oluşturma konusunda yardım için Müfredatı kullanma bölümüne bakın.