React Native升级compileSdkVersion至34后无法连接Metro服务器
React Native升级compileSdkVersion到34后无法连接Metro的解决办法
1. 同步Build Tools版本
当前buildToolsVersion用的是33.0.0,和compileSdkVersion 34不匹配会引发兼容性问题,修改android/app/build.gradle里的ext配置:
ext { buildToolsVersion = "34.0.0" minSdkVersion = 28 compileSdkVersion = 34 targetSdkVersion = 34 ndkVersion = "25.0.8775105" }
2. 开启Debug模式明文流量
Android 14对明文网络请求限制更严格,在android/app/src/main/AndroidManifest.xml的<application>标签中添加或确认:
android:usesCleartextTraffic="true"
3. 重置ADB反向代理
执行命令重新建立设备和本地Metro的连接:
adb reverse tcp:8081 tcp:8081
之后重启Metro服务器和应用。
4. 配置Metro局域网访问(真机测试)
如果用真机测试,确保手机和电脑在同一局域网:
- 启动Metro时指定电脑局域网IP:
npx react-native start --host 你的电脑局域网IP
- 打开应用开发者菜单(摇一摇设备或按快捷键),选择「Change Bundle Location」,输入地址:
http://你的电脑局域网IP:8081/index.bundle?platform=android&dev=true&minify=false
5. 更新Gradle相关依赖
在android/build.gradle中更新gradle插件版本,适配compileSdk34:
dependencies { classpath("com.android.tools.build:gradle:7.4.2") // 其他依赖保持不变 }
同时修改gradle/wrapper/gradle-wrapper.properties中的gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
6. 彻底清理并重建项目
执行以下命令完成清理后重新构建:
./gradlew clean rm -rf node_modules package-lock.json yarn.lock npm install npx react-native run-android npx react-native start --reset-cache
内容的提问来源于stack exchange,提问作者Siddhant Shelake
相关产品推荐
相关产品推荐

