使用 arm-linux-androideabi- 工具链为 android 生成 64 位可执行代码

Generate 64 bit executable code for android using arm-linux-androideabi- toolchain

我正在尝试为 Android 64 位平台生成 64 位本机代码,但我无法生成它,即使编译成功后生成的本机代码显示为 32 位("ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped").

我使用了来自 NDK r9 x86_64 的 "arm-linux-androideabi-" 工具链。 如果有人解释我应该怎么做才能生成 64 位本机代码,我将不胜感激 Android 或者无法生成 64 位代码。

谢谢,

使用 NDK r9 编译 64 位 arm 并不容易。 NDK r10 具有针对 64 位 ARM 的预构建工具链。如果您下载 NDK r10 并查看 /toolchains 目录,您将看到:

aarch64-linux-android-4.9 aarch64-linux-android-clang3.4 aarch64-linux-android-clang3.5

这些分别是 gcc 和 clang 3.4 和 3.5,用于构建 64 位 ARM 的工具链。

您可以从通常的分发点下载新的工具链,该分发点位于: https://developer.android.com/tools/sdk/ndk/index.html

您需要使用 r10 的 arm64 工具链。 arm 工具链是严格的 32 位 arm。