Mürekkep Balığı Nedir?
Cuttlefish , hem uzaktan (Google Cloud Engine gibi üçüncü taraf bulut tekliflerini kullanarak) hem de yerel olarak (Linux x86 makinelerde) çalışabilen, yapılandırılabilir bir sanal Android cihazdır.
Mürekkepbalığı hedefleri
- Platform 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çeveyle yakın uyum sağlayarak gerçek bir cihazın çerçeve tabanlı davranışını yüksek doğruluk odaklı olarak çoğaltın .
- 28'den sonra tüm API seviyelerini destekleyin.
- API düzeylerinde, fiziksel donanımdaki davranışla uyumlu tutarlı bir işlevsellik düzeyi sağlayın.
Ölçeği etkinleştirin:
- Birden çok cihazı paralel olarak çalıştırma yeteneği sağlayın.
- Daha düşük bir giriş maliyetiyle yüksek doğrulukta eşzamanlı test yürütmeyi etkinleştirin.
Biçim faktörünü, RAM'i, CPU'ları vb. Ayarlama becerisine sahip yapılandırılabilir bir cihaz sağlayın.
Mürekkepbalığının diğer cihazlarla karşılaştırılması
Mürekkep Balığı ve Android Emülatörü
Android Emulator ile pek çok benzerlik vardır, ancak Cuttlefish Android çerçevesi ile tam uygunluğu garanti eder (bu ister saf AOSP ister kendi ağacınızda özel bir uygulama olsun). Gerçek dünya uygulamasında bu, Cuttlefish'in aynı özelleştirilmiş veya saf Android işletim sistemi kaynağı ile oluşturulmuş fiziksel bir telefon hedefi gibi işletim sistemi düzeyinde etkileşimlerinize yanıt vermesini beklemeniz gerektiği anlamına gelir.
Android Emulator, uygulama geliştirmeyi kolaylaştırmak için kullanım durumu etrafında oluşturulmuştur ve Android uygulama geliştiricisinin kullanım durumlarına hitap edecek birçok işlevsel kanca içerir. Özelleştirilmiş Android çerçevenizle bir emülatör oluşturmak istiyorsanız, bu zorluklar ortaya çıkarabilir. Ö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 kanonik cihazdır.
Mürekkep balığı ve fiziksel cihaz
Cuttlefish sanal cihazı ile fiziksel cihazınız arasındaki temel farklar, donanım soyutlama katmanı (HAL) seviyesinde ve ayrıca herhangi bir özel donanımla etkileşime giren herhangi bir yazılımdır. Donanıma özgü uygulamalar dışında, Cuttlefish ile fiziksel bir cihaz arasında işlevsel olarak eşdeğer davranışlar beklemelisiniz.
Mürekkepbalığı nasıl yardımcı olabilir?
Cuttlefish ile, hata ayıklama için kullanabileceğiniz diğer Android cihazlarda olduğu gibi etkileşim kurabilirsiniz. Kendini adb aracılığıyla normal bir cihaz olarak kaydedecek ve onunla uzak masaüstü üzerinden fiziksel bir cihaz gibi etkileşim kurabileceksiniz. Kullanım senaryoları geniştir ve uygulama testi, özel sistem oluşturma testi ve daha fazlasını kapsayabilir.
Cuttlefish tam çerçeve doğruluğu için çabaladığından, çerçevenizin ve / veya taklit edilmesi imkansız fiziksel donanım bağımlılıklarının olmadığı uygulamalarınızın işlevsel testi için kullanılabilir.
Mürekkep balığı bugün test için yaygın olarak nasıl kullanılıyor?
Cuttlefish'in 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ığı bulutta barındırabilir miyim?
Evet, Cuttlefish Google Cloud'u yerel olarak destekliyor ve diğer bulut platformları için destek planlanıyor.
Başlangıç
AOSP'ye dayalı bir Cuttlefish örneği oluşturma konusunda rehberlik için Başlarken kılavuzuna bakın.