React Native Android 构建错误修复流程
1. 解决 Gradle 版本兼容性问题
错误信息 : Unsupported class file major version 65
原因 :Gradle 8.0.2 不支持 Java 21
修复步骤 :
-
打开 gradle-wrapper.properties 文件
-
将 distributionUrl 从 gradle-8.0.2-bin.zip 修改为 gradle-8.13-bin.zip
-
保存文件并重新运行构建命令
2. 修复 React Native Gradle 插件代码
错误信息 : Unresolved reference 'fileCollection'
原因 :React Native Gradle 插件代码在 Gradle 8.x 中不兼容
修复步骤 :
-
打开 node_modules/@react-native/gradle-plugin/settings-plugin/src/main/kotlin/com/facebook/react/ReactSettingsExtension.kt 文件
-
修改 autolinkLibrariesFromCommand 函数,将 lockFiles: FileCollection? = null 参数添加
-
更新 checkAndUpdateCache 和 isCacheDirty 函数,使其接受 FileCollection? 类型的参数
-
在 checkAndUpdateCache 函数中,使用 lockFiles?.let { ... } ?: false 来处理 null 情况
-
保存文件并重新运行构建命令
3. 配置 Android SDK 路径
错误信息 : SDK location not found
原因 :Android SDK 路径未配置
修复步骤 :
-
在 android 目录下创建 local.properties 文件
-
在文件中添加 sdk.dir=C:\Users\Administrator\AppData\Local\Android\Sdk
-
保存文件并重新运行构建命令
4. 解决依赖库链接问题
错误信息 : Could not resolve project :react-native-safe-area-context 和 Could not resolve project :react-native-svg
原因 :依赖库未正确链接
修复步骤 :
-
打开 settings.gradle 文件
-
添加以下代码来手动链接依赖库:
// Manually include the missing dependencies
include ':react-native-safe-area-context'
project(':react-native-safe-area-context').projectDir = new File
(rootProject.projectDir, '../node_modules/
react-native-safe-area-context/android')
include ':react-native-svg'
project(':react-native-svg').projectDir = new File(rootProject.
projectDir, '../node_modules/react-native-svg/android')
-
保存文件并重新运行构建命令
5. 修复路径硬编码问题
错误信息 :CMake 构建错误,找不到库的 JNI 目录
原因 : autolinking.json 文件中硬编码了错误的路径
修复步骤 :
-
打开 android/build/generated/autolinking/autolinking.json 文件
-
将所有 C:/Users/21558/rn/hellorn/ 路径替换为 C:/Users/Administrator/AndroidStudioProjects/hellorn/
-
保存文件并重新运行构建命令
6. 验证构建结果
构建命令 : ./gradlew assembleRelease --no-daemon
成功标志 :构建输出显示 BUILD SUCCESSFUL ,并且在 app/build/outputs/apk 目录中生成了 APK 文件。
通过以上步骤,您应该能够成功构建 React Native Android 项目的 release APK。
浙公网安备 33010602011771号