ERROR: “armeabi-v7a“ not supported for HarmonyOS

IDE 从 devecostudio-mac-4.1.3.700 升级至 devecostudio-mac-5.0.3.403 后抛出了如下异常:
ERROR: "armeabi-v7a" not supported for HarmonyOS.

解决办法

一.entry/build-profile.json5

需 entry/build-profile.json5 的 abiFilters 中移除 "armeabi-v7a";

{
  "apiType": "stageMode",
  "buildOption": {
    "externalNativeOptions": {
      "abiFilters": ["arm64-v8a", "x86_64"],
      "path": "./src/main/cpp/CMakeLists.txt",
      "arguments": "",
      "cppFlags": "",
    }
  },
}

二.build-profile.json5

且校验下当前 SDK 版本与 build-profile.json5 中是否匹配,具体如下图

如上配置相互均匹配好后,重新尝试编译项目


以上便是此次分享的全部内容,希望能对大家有所帮助!

### 解决 Makefile 中 armeabi-v7a/QGCMapEngine.obj 构建错误 当遇到 `armeabi-v7a/QGCMapEngine.obj` 的构建失败问题时,可以从多个角度排查并解决问题。 #### 检查编译环境配置 确保本地开发环境中 NDK 版本正确设置。如果使用的是旧版 NDK 可能存在兼容性问题[^4]。建议下载最新的稳定版本,并确认 `local.properties` 文件中的路径指向正确的 NDK 安装位置: ```properties ndk.dir=F:\Android\sdk\ndk\22.0.7026061 ``` #### 验证目标架构一致性 对于特定于 armv7-a 平台的目标文件(如 `.obj`),需保证项目配置与所选 ABI (Application Binary Interface) 匹配。检查项目的 Application.mk 或者 build.gradle 是否指定了合适的 APP_ABI 参数: ```makefile APP_ABI := armeabi-v7a ``` #### 排除源代码层面的问题 有时对象文件无法正常生成可能是由于源码本身存在问题。尝试清理工作区后再重新拉取最新代码提交,这有助于排除因本地更改引起的潜在冲突[^5]: ```bash git checkout . git pull origin main git status ``` #### 修改 Makefile 设置 针对复杂工程结构下的第三方库集成场景,直接利用 NDK 提供的工具链来调整现有 Makefile 是一种有效策略[^3]。具体操作包括但不限于增加交叉编译所需的标志以及指定头文件和库的位置: ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := QGCMapEngine LOCAL_SRC_FILES := path/to/source/files/*.cpp LOCAL_C_INCLUDES += ${ANDROID_NDK}/sources/cxx-stl/llvm-libc++/include \ ${ANDROID_NDK}/sysroot/usr/include/ LOCAL_LDLIBS += -L${ANDROID_NDK}/platforms/android-21/arch-arm/usr/lib/ include $(BUILD_SHARED_LIBRARY) ``` 通过上述措施通常能够解决大部分关于 armeabi-v7a 下 .obj 文件创建不成功的状况。当然实际应用过程中还需结合具体情况灵活应对。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值