2015-03-02 16 views
6

Okey, BlueStacks benim pc biraz yavaş, bu yüzden Genymotion biraz daha sonra BlueStacks olduğunu internette bir yerde okudum. Sonra Genymotion'yı indirip yükledim. Ve bir çok karmaşık adımdan sonra, Android oyunlarını oynamak için ARM translation and Google app'a ihtiyacım olduğunu anladım. Şimdi, Google mağazasının oyun mağazasını almak için gerekli olduğunu anlayabiliyorum. Ama hala 'ARM çeviri' konusunda karanlıktayım. Neden ihtiyaç duyuluyor? bu ne işe yarıyor? ARM çevirisini kullanmazsam ne olur? Ve son olarak, ARM ne anlama geliyor?ARM Translation

-Teşekkürler.

cevap

1

ARM bir işlemci mimarisidir, bu konuda daha fazla bilgi edinebilirsiniz here.

Android uygulamaları bazen X86 mimarisi ve bazen de ARM ile tasarlanmıştır. ARM mimarisini kullanan emülatör uygulamalarınıza yüklemek için ARM çevirisini yüklemeniz gerekir.

Bu bir zorunluluk değil, ancak bir çok uygulama onsuz çalışmayacak.

2

Android oyunlar, genellikle bir ARM SoC ile çalışmak üzere sıfırdan inşa edilen OpenGL ES'yi kullanıyor. Android NDK'nın kendisi, oyun geliştiricilerin C/C++ ve hatta ARM montaj kodunu kullanarak yazılımlarını optimize etmelerini sağlar.

GenyMotion öykünücüler, bir Intel x86/x64 mimarisi etrafında çalışmak üzere tasarlanmıştır; bu nedenle Android emülatörlerinden daha hızlıdırlar. Ama bu yüzden, ve şimdi ARM çevirisinden vazgeçmeye karar verdikleri için, oyun oynayamazlar. Standart bir Android öykünücüsü aslında Java kaynağını dex ile derler ve ARM düzeneğini derler ve bu ARM komutları QEMU adlı ARM öykünmesinde çalıştırılır. Bu, Android emülatörünü inanılmaz derecede yavaşlatıyor, çünkü bir Intel işlemcinin bir Intel-Windows makinesinin üstünde bir emülasyonunu çalıştırıyor. Fakat oyunları çalıştırabilir.

GenyMotion daha etkili bir simülasyon iken, taklit Android emülatörlerine.

+1

bazı doğruluk, bazı hatalar burada. OpenGL'nin ARM veya X86 ile ilgisi yoktur. Bir emülatör gerçekten kod derlemez. Dex bytecode asla ARM montajına derlenmez. – pcans

+0

Yorumunuz, kendi anlayışımı yeniden değerlendirmem için beni zorladı. NDK'nın, isterseniz kodunuzun bir kısmını ARM derlemesine yazmanıza izin verdiğini gördüm, bu yüzden OpenGL ES'nin benzer şekilde optimize edilmesi gerektiğini otomatik olarak varsaydım. Emülatörlerin iç işleyişi hakkında yararlı makaleler bulamadım, lütfen beni doğru yöne yönlendirir misiniz? –