React Native Android构建失败:react-native-reanimated编译任务报错
:react-native-reanimated:compileDebugJavaWithJavac 任务执行错误 错误详情
Task :react-native-reanimated:compileDebugJavaWithJavac FAILED
FAILURE: 构建过程出现异常导致失败。
问题原因:
任务 ':react-native-reanimated:compileDebugJavaWithJavac' 执行失败。无法解析配置 ':react-native-reanimated:androidJdkImage' 的所有文件。
无法转换 core-for-system-modules.jar 以匹配属性 {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}。JdkImageTransform 执行失败:/home/x/Android/Sdk/platforms/android-34/core-for-system-modules.jar。
执行进程 /home/linuxbrew/.linuxbrew/Cellar/openjdk/21.0.2/libexec/bin/jlink 时出错,参数为 {--module-path /home/x/.gradle/caches/transforms-3/7192f249eae24284e999d3715d8b0aff/transformed/output/temp/jmod --add-modules java.base --output /home/x/.gradle/caches/transforms-3/7192f249eae24284e999d3715d8b0aff/transformed/output/jdkImage --disable-plugin system-modules}
解决方案
切换兼容的JDK版本:OpenJDK 21与Android SDK 34存在兼容性问题,建议切换到React Native官方推荐的OpenJDK 17。可通过版本管理工具(如
jenv/sdkman)切换全局JDK,或在项目gradle.properties中指定JDK路径:org.gradle.java.home=/path/to/openjdk-17清理Gradle缓存:执行以下命令清除缓存后重新构建:
./gradlew clean rm -rf ~/.gradle/caches修复Android SDK文件:检查
/home/x/Android/Sdk/platforms/android-34/目录是否完整,若core-for-system-modules.jar损坏,重新下载Android 34 SDK平台包。调整Reanimated版本:确保
react-native-reanimated版本与当前React Native版本兼容,参考官方文档匹配版本后修改package.json,再执行依赖安装命令。
内容的提问来源于stack exchange,提问作者Shambhav Shandilya

