2015-01-03 84 views
10

我想製作自己的Android應用程序。我正在使用Ubuntu 64位和IntelliJ。在虛擬設備配置中,它要求我選擇一個系統映像。所有選項旁邊都有Download,這意味着我沒有下載任何系統映像。Android虛擬設備 - Armeabi-v7a與x86_64

有可供3個選項Lollipop(API等級21),這是Armeabi-V7A,64位x86和x86版本。(我使用Ubuntu 64位,所以我不應該使用的x86吧?)

誰能解釋什麼是Armeabi-v7a? Armeabi-v7a和x84_64有什麼區別?我應該選擇什麼「版本」(哪一個版本運行得更快)?)?

+1

與論壇網站不同,我們不使用「謝謝」或「任何幫助表示讚賞」,或在[so]上簽名。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be - 刪除從帖子)。順便說一句,它是「提前致謝」,而不是「感謝先進」。 –

回答

23

最根本的區別是被仿真的CPU。

  • Armeabi-v71消耗ARM處理器。 (有關ARM選項的更多詳細信息,請參閱:this question。)
  • x86_64模擬64位X86處理器。

決定選擇哪一個取決於您的目標設備。 ARM處理器更爲普遍,所以使用ARM虛擬設備測試您的應用程序通常是有道理的。

另一個考慮因素是本地代碼。如果您的應用程序包含任何本機代碼或包含本機代碼的第三方庫,則您選擇的虛擬設備很重要。本地代碼被編譯爲特定於CPU的庫(.so文件)。因此,您可以使用ARM虛擬設備測試應用中的ARM庫,並使用X86虛擬設備測試應用中的X86庫。

最後的考慮是執行速度。 X86虛擬設備在X86臺式機上運行得更快。

+0

感謝您的回答! – Jeremy