HarmonyOS 鸿蒙Next 打包hap时如何统一限定为64位so文件

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 打包hap时如何统一限定为64位so文件

在entry中会依赖多个二方或者三方库,不同的库编译出来的so类型不太一致,导致hap包中出现了三种abi架构的so。想咨询下,如何在打包hap的时候,如何统一限定为只有64位的so文件。

2 回复
如果只需要保留armv8-64a架构的so库,可以在build-profile.json5中配置

"nativelib": {

    "filter":{

    "excludes": ["**/x86_64/*.so", "**/armeabi-v7a/*.so"]

    }

},

更多关于HarmonyOS 鸿蒙Next 打包hap时如何统一限定为64位so文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,打包HAP(HarmonyOS Application Package)时若需统一限定为64位so文件,可在构建配置中指定相关参数。

  1. 修改build.gradle文件: 在HAP项目的build.gradle文件中,找到androidharmonyos配置块,并添加或修改ndk配置。

    android {
        // 或 harmonyos {
        defaultConfig {
            // 指定仅支持64位架构
            ndk {
                abiFilters 'arm64-v8a', 'x86_64'
            }
        }
    }
    
  2. 配置CMakeLists.txt(如使用CMake): 如果使用CMake进行构建,确保CMakeLists.txt中只包含64位架构的库配置。

  3. 清理并重新构建项目: 在Android Studio或DevEco Studio中,执行清理(Clean)和重新构建(Rebuild)项目操作,确保配置生效。

  4. 验证生成的HAP包: 检查生成的HAP包中lib目录,确保只包含arm64-v8ax86_64文件夹,且内部为64位so文件。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部