Mürekkepbalığı , hem uzaktan (Google Cloud Engine gibi üçüncü taraf bulut tekliflerini kullanarak) hem de yerel olarak (Linux x86 makinelerinde) çalışabilen, yapılandırılabilir bir sanal Android cihazıdır.
Mürekkep balığı hedefleri
- Platformu ve uygulama geliştiriciyi, kod değişikliklerini geliştirmek ve doğrulamak için fiziksel donanıma bağımlı olmaktan kurtarın.
- Gerçek bir cihazın çerçeve tabanlı davranışını, çekirdek çerçeveyle yakın hizalamayı koruyarak yüksek doğruluğa odaklanarak çoğaltın.
- 28'den sonra tüm API seviyelerini destekleyin.
- Fiziksel donanımdaki davranışla uyumlu, API düzeylerinde 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ürekkepbalığını diğer cihazlarla karşılaştırın
Mürekkep Balığı 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 işletim sistemi seviyesinde aynı özelleştirilmiş veya saf Android işletim sistemi kaynağıyla oluşturulmuş fiziksel bir telefon hedefi gibi yanıt vermesini beklemeniz gerektiği anlamına gelir.
Android Emulator, uygulama geliştirmeyi kolaylaştıran kullanım durumu etrafında oluşturulmuştur ve Android uygulama geliştiricisinin kullanım durumlarına hitap eden birçok işlevsel kanca içerir. Özelleştirilmiş Android çerçevenizle bir öykünücü oluşturmak istiyorsanız, bu zorluklar ortaya çıkarabilir. Özel platformunuzu/çerçeve kodunuzu veya ağaç ucu Android'inizi temsil edecek bir sanal cihaza ihtiyacınız varsa, Mürekkepbalığı ideal bir sanal seçenektir. AOSP gelişiminin mevcut durumunu temsil eden standart bir cihazdır.
Mürekkep balığı ve fiziksel cihaz
Bir Mürekkepbalığı sanal aygıtı ile fiziksel aygıtınız arasındaki temel farklar, donanım soyutlama katmanı (HAL) seviyesinde olduğu gibi, herhangi bir özel donanımla etkileşim kuran herhangi bir yazılımdır. Donanıma özgü uygulamalar dışında, Mürekkep Balığı ile fiziksel bir aygıt arasında işlevsel olarak eşdeğer davranış beklemeniz gerekir.
Mürekkepbalığı nasıl yardımcı olabilir?
Mürekkepbalığı ile hata ayıklama için kullanabileceğiniz diğer herhangi bir Android cihazda olduğu gibi etkileşim kurabilirsiniz. Kendini adb aracılığıyla normal bir cihaz olarak kaydedecek ve onunla uzak masaüstü aracılığıyla fiziksel bir cihaz gibi etkileşime girebileceksiniz. Kullanım durumları geniştir ve uygulama testi, özel sistem oluşturma testi ve daha fazlasını kapsayabilir.
Mürekkepbalığı tam çerçeve uygunluğu için çaba gösterdiğinden, öykünmesi imkansız olan fiziksel donanım bağımlılıklarının olmadığı çerçeve 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?
Test için Mürekkepbalığının bazı yaygın uygulamaları şunları içerir:
- CTS
- Çerçeve uyumluluğu
- Sürekli entegrasyon testi
- Özel test paketleri
Mürekkep balıklarını bulutta barındırabilir miyim?
Evet, Cuttlefish yerel olarak Google Cloud'u destekler ve diğer bulut platformları için destek planlanır.
Başlarken
AOSP'ye dayalı bir Mürekkep Balığı örneği oluşturmaya ilişkin rehberlik için Mürekkep Balığı Kullanma bölümüne bakın.