使用DevEco Studio新建一个Native C++工程,不修改任何代码、配置,运行到模拟器时出错。参考问题指导,受阻在第4步:模块级build-profile.json5文件中不存在“abiFilters”配置,未明确在哪一层添加。

使用DevEco Studio新建一个Native C++工程,不修改任何代码、配置,运行到模拟器时出错。参考问题指导,受阻在第4步:模块级build-profile.json5文件中不存在“abiFilters”配置,未明确在哪一层添加。 Install Failed: error: failed to install bundle.

code:9568347

error: install parse native so failed.

View detailed instructions

12:01:02.373: $ hdc shell rm -rf data/local/tmp/cb72ae308fd147068b583c3e032ce043

12:01:02.374: Launch com.example.mynativeapplication failed, starting handle failure progress

Error while Deploy Hap


5 回复

在build-profile.json5 中添加

"abiFilters": ["arm64-v8a", "x86_64"]

即可


externalNativeOptions 下添加 "abiFilters": ["arm64-v8a", "x86_64"] 后编译通过。

externalNativeOptions 下添加 "abiFilters": ["arm64-v8a", "x86_64"] 后编译通过。

完整配置如下:

{
  "apiType": "stageMode",
  "buildOption": {
    "externalNativeOptions": {
      "path": "./src/main/cpp/CMakeLists.txt",
      "arguments": "",
      "cppFlags": "",
      "abiFilters": ["arm64-v8a", "x86_64"]
    }
  },
  "buildOptionSet": [
    {
      "name": "release",
      "arkOptions": {
        "obfuscation": {
          "ruleOptions": {
            "enable": false,
            "files": [
              "./obfuscation-rules.txt"
            ]
          }
        }
      },
      "nativeLib": {
        "debugSymbol": {
          "strip": true,
          "exclude": []
        }
      }
    }
  ],
  "targets": [
    {
      "name": "default"
    },
    {
      "name": "ohosTest"
    }
  ]
}

错误如图:

在DevEco Studio中新建Native C++工程时,如果运行到模拟器时出错,且提示模块级build-profile.json5文件中不存在“abiFilters”配置,需要在build-profile.json5文件中添加相应的配置。具体步骤如下:

  1. 打开工程目录下的entry模块。
  2. 找到并打开build-profile.json5文件。
  3. buildOptions节点下添加abiFilters配置,示例如下:
    "buildOptions": {
        "abiFilters": ["armeabi-v7a", "arm64-v8a"]
    }
    
  4. 保存文件并重新运行工程。

abiFilters用于指定生成的二进制文件支持的CPU架构,常见的有armeabi-v7aarm64-v8a。添加后,DevEco Studio会根据指定的架构生成对应的二进制文件,从而解决运行到模拟器时出错的问题。

回到顶部