📌  相关文章
📜  android ndk - 配置不识别 androideabi - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:39:08.135000             🧑  作者: Mango

Android NDK - 配置不识别 androideabi 的解决方法

当使用 Android NDK 进行 C/C++ 开发时,有时会遇到配置不识别 androideabi 的问题,导致编译失败。本文将介绍一些解决方法。

1. 确认 NDK 的版本

首先需要确认 NDK 的版本是否正确。在 Application.mk 文件中,设置 APP_PLATFORMAPP_ABI 的值应该和 NDK 版本和设备 CPU 架构一致。

# Application.mk

APP_PLATFORM := android-23
APP_ABI := armeabi-v7a
2. 确认环境变量

如果环境变量设置不正确,也可能导致编译失败。需要确保以下环境变量都配置正确:

export ANDROID_SDK=<path_to_sdk>
export ANDROID_NDK=<path_to_ndk>
export PATH=${PATH}:${ANDROID_SDK}/tools:${ANDROID_SDK}/platform-tools:${ANDROID_NDK}
3. 升级 NDK 的版本

如果使用的 NDK 版本过旧,也可能会导致编译失败。建议将 NDK 版本升级到最新版本。

4. 指定正确的 toolchain

有时候可能需要手动设置 toolchain,否则可能会遇到配置不识别 androideabi 的问题。

# Application.mk

APP_PLATFORM := android-23
APP_ABI := armeabi-v7a

# 指定 toolchain
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
    NDK_TOOLCHAIN_VERSION=4.9
    $(info Using custom toolchain for $(TARGET_ARCH_ABI))
endif

# 设置编译器
ifeq ($(NDK_TOOLCHAIN_VERSION), 4.9)
    $(info Using GCC 4.9)
    APP_TOOLCHAIN := $(ANDROID_NDK)/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
endif
5. 使用 Android Studio 编译

如果以上方法都无效,可以尝试使用 Android Studio 编译。建议使用最新版本的 Android Studio,因为新版本的 Android Studio 对 NDK 支持更好。

以上是解决配置不识别 androideabi 的方法,希望对你有帮助。