M1苹果芯片下Android Studio Arctic Fox报InvocationTargetException如何解决
苹果硅设备构建失败解决方案
步骤1:修复依赖版本兼容性问题
你当前使用的测试版Room、旧版Dagger都未原生适配苹果硅arm64架构,是触发kapt异常的核心原因,请修改dependencies.gradle中的以下版本配置:
- 将
room_version修改为'2.4.3':该版本为适配kotlin 1.5.30的稳定版Room,原生支持苹果硅架构,修复了早期alpha版本的注解处理器兼容问题 - 将
dagger_version修改为'2.40.5':该版本兼容kotlin 1.5.30,同时修复了旧版Dagger注解处理器在arm64架构下的运行异常 - 修正依赖写错问题:将
workTesting的配置从"android.arch.work:work-testing:$work_version"改为"androidx.work:work-testing:$work_version",避免依赖包冲突
步骤2:添加kapt兼容配置
打开项目根目录下的gradle.properties文件,添加以下配置:
# 关闭kapt worker API,解决苹果硅架构下的执行异常问题 kapt.use.worker.api=false # 调整JVM堆内存,添加jdk导出配置适配旧版本注解处理器 org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options="-Xmx2048M" --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
步骤3:调整Android Studio运行模式(可选,兼容性更好)
右键Finder中的Android Studio应用,选择「显示简介」,勾选「使用Rosetta打开」,通过转译兼容部分尚未完全适配arm64的老版本构建工具链。
步骤4:清理缓存重新构建
在项目根目录下执行以下命令清理旧构建产物:
./gradlew clean
之后手动删除项目根目录下的.idea、.gradle文件夹,以及各模块下的build文件夹,重启Android Studio后重新执行构建操作即可。
内容的提问来源于stack exchange,提问作者Md Istiak Morsalin
相关产品推荐
相关产品推荐

