android - Android ABI 的目标 exe(ndk 构建)

标签 android c android-ndk arm

我有一个带有两个不同 CPU ABI 的 android 系统 - armeabi-v7a 和 x64。为此我必须构建应用程序代码才能使其正常工作。无论如何我的应用程序(用 c 语言)不为任何一个平台运行。 或者是否有任何通用工具链可以用来构建相同的工具链。 arm-eabi-gcc?

最佳答案

NDK 包含在 Android 平台上运行程序所需的所有工具链。

要设置您需要编译的体系结构,您应该在 Application.mk 中设置 APP_ABI 变量或将其传递给 ndk-build命令。

APP_ABI:=all 将使您的 ndk 项目针对所有支持的架构构建:armeabiarmeabi-v7a arm64-v8ax86x86_64mipsmips64

您还可以列出要构建的架构:APP_ABI:= x86_64 x86 armeabi-v7a arm64-v8a 并且还可以使用 all32all64 作为所有 32 位和所有 64 位架构的快捷方式。

要确定目标设备支持哪些平台,您可以调用 adb shell getprop ro.product.cpu.abi(首选 arch)和 adb shell getprop ro.product.cpu .abi2(第二个拱门)。

从 Android 5.0 开始,改用 adb shell getprop ro.product.cpu.abilist,它会返回所有支持的 ABI 的列表,并按优先顺序排序。

关于android - Android ABI 的目标 exe(ndk 构建),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386598/

相关文章:

java - 创建矩形数组 : Opencv , Android

使用 OnClickListener 登录 Android facebook

android - 我想要 TextView 作为可点击的链接

c - 如何将 char* 转换为带逗号(小数点)的数字函数?

谁能给我解释一下这段C代码的工作原理吗?

android - 创建 NDK 项目时 '->' 的错误基操作数具有非指针类型 'JNIEnv {aka _JNIEnv}'

android - 如何授予android shell 用户android.permission.RECORD_AUDIO 权限?

c - 是否可以在 Android 中使用 sched_setaffinity 设置亲和性?

java - Android:对话框在线程中崩溃?

c - 如何在C中并行化对动态分配数组的访问