簡體   English   中英

Android Native - 何時使用64位NDK?

[英]Android Native - When to use 64-bit NDK?

根據NDK的官方下載頁面: http//goo.gl/vI7Oek有兩個目標版本:

  • x86目標
  • x64目標

我想知道(作為NDK中的新手),這是否意味着我應該在為配備x64處理器的設備編譯應用程序時使用x64 NDK?

如果我只需要一個“.apk”文件,如何使它包含x86和x64版本? (如果可能的話)

更新:這個問題現在有點過時了。 從版本10c開始, NDK再次分布在所有目標平台的單個包中 答案已經更新,以反映這一事實。


首先,您應該區分運行應用程序的設備的架構(可以是ARM(幾種)32或64位,MIPS 32或64位,以及Intel x86 / x64)以及架構/操作系統您的構建計算機(可以是運行在Intel x86 / x64處理器上的Windows,Linux或Mac)。

所以假設你有Windows 64位。 然后(現在最新的版本是10d )你應該下載android-ndk-r10d-windows-x86_64.exe 它將允許您為NDK支持的所有目標平台(32位和64位)構建。

如果為32位目標設備構建,則應用程序也將在64位設備上運行,因為所有列出的64位體系結構都向后兼容其32位對應設備。

但是,如果要使用目標體系結構的64位特定功能,則應使用64位工具鏈。 如果僅為64位構建,則應用程序將無法在32位體系結構上運行。

如果你必須支持幾個目標(比如ARM和Intel x86),你可以在Application.mk中指定你想要為你的本機代碼構建的目標(google for APP_ABI ),這樣你就可以構建幾個版本的本機庫並且系統將在運行時加載適當的一個。 此外,您可以為同一架構系列的32位和64位版本提供單獨的二進制文件,因此您可以對它們進行微調。

您可以進一步閱讀NDK包中的文檔,它們非常詳盡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM