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

时间:2015-01-31 12:44:21

标签: compilation android-ndk toolchain

我正在尝试为Android 64位平台生成64位本机代码,但我无法生成它,即使在成功编译后生成的本机代码显示32位(" ELF 32位LSB可执行文件) ,ARM,版本1(SYSV),动态链接(使用共享库),而不是剥离")。

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

谢谢,

2 个答案:

答案 0 :(得分:0)

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

aarch64-Linux的机器人-4.9 aarch64-Linux的Android的clang3.4 aarch64-Linux的机器人-clang3.5

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

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

答案 1 :(得分:0)

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