2013-08-12 51 views
5

Hiç kimse, süper-yavaş android-emülatörü yerine Jenkins'i Genymotion android VM'yi kullanmaya çalıştı mı?Jenkins - Android Emulator yerine Genymotion VM kullanın

Genymotion aslında benim dev makinede gerçek bir cihazdan daha hızlıdır, bu nedenle CI testleri çalıştırmak için ideal olacaktır.

Herhangi bir fikir için teşekkürler.

Simon

+1

Genymotion, tam olarak basit bir aygıt gibi davranır. Si yönetmek için ADB'yi kullanabilirsiniz. Kullanım durumunuzda kesin bir sorun var mı? –

+0

Genymotion'yı Jenkins'e nasıl entegre edeceğimi öğretici buldum: http://blog.genymobile.com/genymotion-jenkins-android-testing/ – Christopher

+0

jenkins ve genymotion 2.5 http: // www ile ilgili bu yeni (resmi) makaleye bakın. genymobile.com/genymotion-jenkins-integration/ – Dori

cevap

4

CI sunucuda genymotion başlamak ve her zaman çalışan izin, o zaman iyi çalışır. Her ne kadar testler için uyandırmak istiyorsan ve sonra tekrar kapatmayı istiyorsan, o zamana kadar evet, genymotion ile bazı şeyleri özleyeceksin.

Jenkins Android emulator eklentisi bu konuda yararlıydı ve hala genymotion ile eşdeğer yoktur. Genymotion hala komut satırında çalışacak kadar betimleyemiyor, ideal olarak başsız. Bununla birlikte, işimizdeki projelerde, son zamanlarda genymotion'ya geçtik, bir "emülatör" başlattık, her zaman CI sunucusunda çalışalım ve her şey iyi çalışıyor. Ve buna gerçekten değdi, yapım zamanlarımızı 2 kat azalttık ve HAX etkinken bile gerçek emülatörde çok yaygın olan herhangi bir bellek problemiyle karşılaşmıyoruz. Genymotion'dan bir jenkins eklentisi memnuniyetle karşılanacaktır. Onların yol haritasında zaten var sanırım.

+1

Genymotion emülatörünün komut satırında nasıl başlatılacağını bulabilirsiniz [here] (http://stackoverflow.com/q/18396344/693752) – Snicolas

+0

Genymotion ile nasıl başlayabilirsiniz? Jenkins kullanıcısı? VirtualBox sadece varsayılan sistem yöneticisi için çalışır, Jenkins için değil! –

2

Böyle bir önceden yapılandırılmış örneğiyle bir oyuncu başlatabilirsiniz: o başsız olmadığını

/Applications/Genymotion.app/Contents/MacOS/player --vm-name "Galaxy Nexus - 4.2.2 - API 17 - 720x1280" 

Not.

$ VBoxManage list vms 
"Galaxy Nexus - 4.2.2 - API 17 - 720x1280" {56d8e3aa-ecf8-483e-a450-86c8cdcedd35} 

Sen (tırnak içinde) adını veya emülatörü x86 sürümünü kullanabilirsiniz --vm-name

+0

Bu, Jenkins'e giriş yapan kullanıcı için çalışmayacak, çünkü vm'lere erişimi yok. –

+0

Kullanıcıların/hakların manipüle edilmesine inanıyorum ama bir MacBook üzerinde çalışan bir Jenkins işimiz vardı. Gelen projeyle daha uzun bir ilişkiye giremiyorum. Bu yüzden, mevcut durumun ne olduğundan emin değilim, özellikle de GenyMotion'un geçen sonbahardan beri yaptığı tüm değişimlerle. –

+0

Evet, asıl sorun şu ki, Jenkins kendi unix kullanıcı hesabı altında çalışıyor. Bu hesap genellikle MacBook kullanıcılarının Genymotion'yı indirdiği VirtualBox hesaplarından farklıdır. –

0

ile id birini kullanabilirsiniz: yapılandırılmış örneklerinin listesini almak için

VBoxManage kullanın. Genymotion temelde bir x86 sürüm emualtor, bu yüzden Android kol sürümü emülatöründen daha hızlı.