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

搭载MAC M1 Pro芯片设备在Android Studio运行测试时遇架构兼容错误

解决M1 Pro设备上Android Studio测试时sqlite4java架构不兼容问题

问题根源

你遇到的错误是因为M1 Pro芯片采用arm64e架构,但测试依赖的libsqlite4java.dylib仅包含i386/x86_64架构,导致Robolectric加载库时出现不兼容问题。而应用能正常构建运行,是因为实际运行时调用的是Android系统自带的SQLite库,并非这个桌面端的sqlite4java库。

解决方案

  • 用Rosetta 2兼容模式运行Android Studio
    找到Applications目录下的Android Studio,右键选择「显示简介」,勾选「使用Rosetta打开」,重启Android Studio后再运行测试。AS会以x86_64兼容模式运行,匹配sqlite4java库的架构。

  • 升级Robolectric版本
    较新的Robolectric版本已适配M1芯片的架构要求,将依赖升级到4.9及以上版本即可解决问题。在项目的build.gradle中更新依赖:

    testImplementation 'org.robolectric:robolectric:4.12.1'
    

    同步gradle后重新运行测试。

  • 手动指定兼容arm64的sqlite4java库路径
    若升级版本无法解决,可自行下载支持arm64架构的sqlite4java库,然后在build.gradle中配置路径:

    test {
        systemProperty 'sqlite4java.library.path', '/你的arm64版sqlite4java库所在路径'
    }
    

    或者在测试类的静态代码块中设置系统属性:

    static {
        System.setProperty("sqlite4java.library.path", "/你的arm64版sqlite4java库所在路径");
    }
    

内容的提问来源于stack exchange,提问作者Shreyas sethi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:35:28