You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android Studio 2023的x86_64 AVD上测试纯ARM应用并禁用拆分APK

解决Android Studio 2023构建纯ARM应用适配x86_64 AVD的问题

一、强制生成包含ARM架构的通用APK

在app模块的build.gradle中添加以下配置,关闭ABI拆分并指定仅打包ARM架构的SO库:

android {
    // 保留原有配置,添加以下内容

    // 关闭ABI拆分,避免生成按架构拆分的APK
    splits {
        abi {
            enable false
        }
    }

    defaultConfig {
        ndk {
            // 指定仅打包项目支持的ARM架构
            abiFilters 'armeabi-v7a', 'arm64-v8a'
        }
    }

    // 确保生成通用APK并自定义文件名(可选)
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFileName = "app-${variant.name}-universal-arm.apk"
        }
    }
}

配置说明:

  • 关闭splits.abi.enable会阻止Gradle生成按架构拆分的APK,转而生成包含所有指定ABI的通用包。
  • abiFilters明确指定仅打包ARM架构的SO库,避免Gradle尝试寻找x86_64的库文件。

二、让Android Studio识别x86_64 AVD的ARM兼容能力

方法1:手动指定运行配置的目标ABI

  1. 点击Android Studio右上角的运行配置下拉框,选择「Edit Configurations」。
  2. 在打开的窗口中,找到当前应用的运行配置,切换到「General」标签页。
  3. 滚动到「Installation Options」区域,找到「ABI」选项,选择项目支持的ARM架构(armeabi-v7a或arm64-v8a)。
  4. 保存配置后,重新运行应用,Android Studio会强制构建ARM架构的APK并安装到x86_64 AVD,系统会自动启用ARM翻译层运行。

方法2:修改AVD配置模拟ARM环境

  1. 找到AVD的配置文件,路径通常为~/.android/avd/[你的AVD名称]/config.ini(Windows系统路径为C:\Users\[你的用户名]\.android\avd\[你的AVD名称]\config.ini)。
  2. 打开文件,添加或修改以下配置:
abi.type=armeabi-v7a
hw.cpu.model=cortex-a53
  1. 重启Android Studio和AVD,此时AS会识别该设备为ARM架构的模拟器,自动构建ARM包进行部署。

三、解决libhv.so找不到的问题

出现dlopen failed: library "libhv.so" not found错误的核心原因是:未指定abiFilters时,Gradle会尝试打包x86架构的APK,但项目没有对应的x86版本SO库。

通过上述步骤1的Gradle配置,指定仅打包ARM架构的SO库并关闭ABI拆分,生成的通用APK会包含armeabi-v7a和arm64-v8a版本的libhv.so,安装到x86_64 AVD后,系统的ARM翻译层会正常加载该库。

内容的提问来源于stack exchange,提问作者Simone Avogadro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 07:07:39