首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android本机-什么时候使用64位NDK?

Android本机-什么时候使用64位NDK?
EN

Stack Overflow用户
提问于 2014-10-17 11:22:43
回答 1查看 8.6K关注 0票数 7

根据NDK的官方下载页面:http://goo.gl/vI7Oek有两个目标版本:

  • x86靶
  • x64靶

我想知道(作为NDK方面的新手),这是否意味着我在为配备了x64处理器的设备编译应用程序时应该使用x64 NDK?

如果我只需要一个".apk“文件,那么如何使它同时包含x86 & x64构建?(如果可能的话)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-17 12:14:55

更新:这个问题现在有点过时了。从版本10c NDK is distributed in a single package for all target platforms again开始。答案已经更新,以反映这一事实。

首先,您应该区分运行应用程序的设备的体系结构(可以是ARM (几种) 32或64位,MIPS 32或64位,以及Intel x86 / x64)和构建机器的体系结构/OS(可以是Windows、Linux或Mac,它们都运行在Intel x86 / x64处理器上)。

因此,假设您有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中指定您希望为其构建本机代码的目标(GoogleforAPP_ABI),因此您将构建多个版本的本机库,系统将在运行时加载适当的一个。此外,通过这种方式,您可以为同一体系结构系列的32位和64位版本提供单独的二进制文件,因此您可以对它们进行微调。

您可以进一步阅读NDK包中的docs,它们非常详尽。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26423959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档