集成react-native-svg时Android构建失败:异常错误求助
解决React Native Android构建错误:react-native-svg编译失败
错误日志
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':react-native-svg:compileDebugJavaWithJavac'. > Could not resolve all files for configuration ':react-native-svg:androidJdkImage'. > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}. > Execution failed for JdkImageTransform: C:\Users\Lenovo\AppData\Local\Android\Sdk\platforms\android-34\core-for-system-modules.jar. > Error while executing process C:\Program Files\Java\jdk-21\bin\jlink.exe with arguments {--module-path C:\Users\Lenovo\.gradle\caches\transforms-3\393400499b2af28f59d755a5f301569b\transformed\output\temp\jmod --add-modules java.base --output C:\Users\Lenovo\.gradle\caches\transforms-3\393400499b2af28f59d755a5f301569b\transformed\output\jdkImage --disable-plugin system-modules}
当前配置文件
Android/build.gradle
buildscript { ext { buildToolsVersion = "34.0.0" minSdkVersion = 21 compileSdkVersion = 34 targetSdkVersion = 34 ndkVersion = "25.1.8937393" kotlinVersion = "1.8.0" } repositories { google() mavenCentral() } dependencies { classpath("com.android.tools.build:gradle") classpath("com.facebook.react:react-native-gradle-plugin") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") } } apply plugin: "com.facebook.react.rootproject"
settings.gradle
rootProject.name = 'Travls' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' includeBuild('../node_modules/@react-native/gradle-plugin')
解决方案
- 降级JDK版本:React Native 0.73.x官方推荐使用JDK 17,JDK 21与Android Gradle插件存在兼容性问题。卸载JDK 21,安装OpenJDK 17或Oracle JDK 17,并配置系统环境变量指向JDK 17。
- 明确指定Android Gradle插件版本:React Native 0.73.4对应Android Gradle插件(AGP)8.2.0,在
buildscript的dependencies中修改为:classpath("com.android.tools.build:gradle:8.2.0") - 清理构建缓存:执行以下命令彻底清理缓存和依赖:
# 进入android目录 cd android # 清理Gradle构建文件 ./gradlew clean # 删除全局Gradle缓存 rm -rf ~/.gradle/caches # 重新安装npm依赖 cd .. && rm -rf node_modules && npm install - 确保react-native-svg版本兼容:安装与React Native 0.73.4匹配的react-native-svg版本,推荐13.14.0及以上:
npm install react-native-svg@13.14.0 --save - 检查Android SDK组件:打开Android Studio的SDK Manager,确认已安装Android 34的SDK Platform和Build Tools 34.0.0,若缺失则补装。
内容的提问来源于stack exchange,提问作者Sva
相关产品推荐
相关产品推荐

