Mürekkep Balığı, hem uzaktan (Google Cloud Engine gibi üçüncü taraf bulut tekliflerini kullanarak) hem de yerel olarak (Linux x86 ve ARM64 makinelerde) çalışabilen yapılandırılabilir bir sanal Android cihazdır.
Mürekkep balığı hedefleri
- Platform ve uygulama geliştiricilerinin, kod değişikliklerini geliştirmek ve doğrulamak için fiziksel donanıma bağımlı olmamasını sağlayın.
- Temel çerçeveyle yakın uyum sağlayarak yüksek doğruluğa odaklanarak gerçek bir cihazın çerçeveye dayalı davranışını kopyalayın.
- 28'den sonraki tüm API düzeylerini destekler.
- Fiziksel donanımdaki davranışla uyumlu, API düzeyleri genelinde tutarlı bir işlev düzeyi sağlayın.
Ölçeği etkinleştirin:
- Birden fazla cihazı paralel olarak çalıştırma olanağı sunar.
- Daha düşük giriş maliyetiyle yüksek doğrulukla eşzamanlı test yürütme özelliğini etkinleştirin.
Form faktörü, RAM, CPU vb. ayarları yapabileceğiniz yapılandırılabilir bir cihaz sağlayın.
Mürekkepbalığı'nı diğer cihazlarla karşılaştırma
Mürekkep Balığı ve Android Emülatörü
Android Emulator ile birçok benzerliği olsa da Cuttlefish, Android çerçevesiyle tam uyumluluk sağlar (saf AOSP veya kendi ağacınızdaki özel bir uygulama olsun). Gerçek uygulamada bu, Cuttlefish'in, aynı özelleştirilmiş veya saf Android OS kaynağıyla oluşturulmuş fiziksel bir telefon hedefi gibi OS düzeyindeki etkileşimlerinize yanıt vermesini beklemeniz gerektiği anlamına gelir.
Android Emulator, uygulama geliştirmeyi kolaylaştırmak amacıyla tasarlanmıştır ve Android uygulama geliştiricilerinin kullanım alanlarına hitap eden birçok işlevsel bağlantı noktası içerir. Bu durum, özelleştirilmiş Android çerçevenizle bir emülatör oluşturmak istiyorsanız zorluklar oluşturabilir. Özel platform/çerçeve kodunuzu veya ağacın tepesindeki Android'i temsil edecek bir sanal cihaza ihtiyacınız varsa Cuttlefish ideal bir sanal seçenektir. AOSP geliştirmesinin mevcut durumunu temsil eden standart 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) düzeyinde ve özel donanımla etkileşime geçen tüm yazılımlardadır. Donanıma özel uygulamalar hariç, Cuttlefish ile fiziksel cihaz arasında işlevsel olarak eşdeğer bir davranış bekleyebilirsiniz.
Cuttlefish nasıl yardımcı olabilir?
Hata ayıklama için kullanabileceğiniz diğer Android cihazlarla yaptığınız gibi Cuttlefish ile etkileşimde bulunabilirsiniz. Kendisini adb üzerinden normal bir cihaz olarak kaydeder ve uzak masaüstü üzerinden fiziksel bir cihaz gibi etkileşim kurabilirsiniz. Kullanım alanları geniş olup uygulama testini, özel sistem derleme testini ve daha fazlasını kapsayabilir.
Cuttlefish, çerçevenin tam olarak doğrulanması için çaba gösterdiğinden, taklit edilmesi imkansız fiziksel donanım bağımlılıkları olmayan çerçevenizin veya uygulamalarınızın işlevsel testi için kullanılabilir.
Cuttlefish günümüzde test için yaygın olarak nasıl kullanılıyor?
Test için Cuttlefish'in yaygın olarak kullanıldığı bazı uygulamalar şunlardır:
- CTS
- Çerçeveye uygunluk
- Sürekli entegrasyon testi
- Özel test paketleri
Cuttlefish'i bulutta barındırabilir miyim?
Evet, Cuttlefish doğal olarak Google Cloud'u destekler ve diğer bulut platformları için destek planlanmaktadır.
Başlayın
AOSP tabanlı bir Cuttlefish örneği oluşturma hakkında bilgi edinmek için Cuttlefish'i kullanma başlıklı makaleyi inceleyin.