执行expo run:android时遇autolinking.gradle不存在错误求助
解决Expo Android项目运行时autolinking.gradle不存在的错误
针对执行expo run:android时出现的autolinking.gradle文件不存在错误,可按以下步骤排查修复:
检查并安装完整依赖
执行npm install或yarn install,确保项目根目录下的node_modules文件夹完整,所有依赖包正确下载。清理项目缓存
先清理Expo缓存:npx expo start --clear再进入
android目录清理Gradle缓存:./gradlew clean修改settings.gradle中的路径解析方式
原配置中通过node --print require.resolve('expo/package.json')动态解析路径可能出现层级错误,直接替换为固定路径更可靠:
将原代码:apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle");替换为:
apply from: new File(rootProject.projectDir, '../node_modules/expo/scripts/autolinking.gradle');验证Node版本兼容性
确保使用的Node.js版本为Expo官方推荐的LTS版本(如18.x或20.x),版本不匹配可能导致依赖解析异常。重新生成Android配置文件
若以上方法无效,执行以下命令彻底重建Android项目配置:npx expo prebuild --clean
修改后的完整settings.gradle示例:
rootProject.name = 'AppName' // 替换动态解析为直接路径 apply from: new File(rootProject.projectDir, '../node_modules/expo/scripts/autolinking.gradle'); useExpoModules() apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute(null, rootDir).text.trim(), "../native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' includeBuild(new File(["node", "--print", "require.resolve('react-native-gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile()) if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") { include(":ReactAndroid") project(":ReactAndroid").projectDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../ReactAndroid"); include(":ReactAndroid:hermes-engine") project(":ReactAndroid:hermes-engine").projectDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../ReactAndroid/hermes-engine"); }
内容的提问来源于stack exchange,提问作者john doe
相关产品推荐
相关产品推荐

