【问题标题】:How to build an .so binary for a device with a 64-bit CPU?如何为具有 64 位 CPU 的设备构建 .so 二进制文件?
【发布时间】:2014-10-31 03:24:30
【问题描述】:

如您所知,Android L 将支持基于 64 位目标 CPU (ARM) 的设备(手机)。

所以我正在为这种 64 位 Android 手机准备原生代码二进制文件(.so 文件扩展名)。

如何使用 Android NDK 为 64 位目标构建 .so 二进制文件?

【问题讨论】:

标签: android android-ndk arm 64-bit shared-libraries


【解决方案1】:

根据我的调查,设置以下变量可以解决我在 Application.mk 中的问题。

APP_ABI := arm64-v8a

有人可以确认我的回答吗?

谢谢。

【讨论】:

  • 如果你这样做,你将只编译 arm64-v8a 架构。您应该明确指定要在 APP_ABI 中支持的架构列表。现在的 64 位架构是 arm64-v8a x86_64mips64
【解决方案2】:

您需要使用最新版本的 NDK(现在是 r10c)。

如果您在 Application.mk 中设置 APP_ABI := all,您的原生库将为所有支持的架构编译,包括 64 位架构。

您还可以指定要编译的架构列表,例如:

APP_ABI := x86 armeabi-v7a arm64-v8a x86_64

【讨论】:

    【解决方案3】:

    您可以针对所有要编译的架构,例如:

    APP_ABI := all
    

    【讨论】:

      猜你喜欢
      • 2021-01-26
      • 2014-04-22
      • 2015-01-08
      • 2021-11-18
      • 2011-01-24
      • 2010-09-14
      • 2017-09-24
      • 2016-02-28
      • 1970-01-01
      相关资源
      最近更新 更多