You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native 0.71.7应用在Android 10无法启动,Android 13正常

解决React Native 0.71.7在Android 10(API29)上启动崩溃问题

步骤1:先获取崩溃日志(核心前提)

无日志无法精准定位问题,通过以下方式抓取:

  • 连接设备后执行命令:
    adb logcat *:E
    
    过滤错误日志,重点搜索AndroidRuntime关键词,找到崩溃堆栈信息。
  • 或用Android Studio打开项目,切换到Logcat窗口,选择对应设备和应用包名,查看启动时的崩溃详情。

步骤2:检查网络配置

Android 10默认限制明文网络请求,RN调试需连接Metro明文地址,确保:

  • 在AndroidManifest.xml的<application>标签内添加:
    android:usesCleartextTraffic="true"
    
  • 若自定义了networkSecurityConfig,需在对应的xml文件中允许localhost明文请求:
    <domain-config cleartextTrafficPermitted="true">
      <domain includeSubdomains="true">localhost</domain>
    </domain-config>
    

步骤3:调整Gradle配置

  • 确认android/build.gradle中的SDK版本:
    buildscript {
      ext {
        compileSdkVersion = 33
        targetSdkVersion = 33
        minSdkVersion = 21 // RN 0.71最低要求为21,不可高于29
      }
    }
    
  • 检查第三方依赖版本,确保所有库适配API29,若有老库尝试更新至兼容版本。

步骤4:彻底清理项目缓存

执行以下命令清除缓存后重新构建:

cd android && ./gradlew clean
cd .. && rm -rf node_modules && npm install
npx react-native start --reset-cache
npx react-native run-android

步骤5:检查NDK版本

RN 0.71.7推荐使用NDK 25.1.8937393,在android/build.gradle中指定:

android {
  ndkVersion "25.1.8937393"
}

确保NDK版本兼容API29。

步骤6:发布版混淆配置检查

若发布版也崩溃,确认proguard-rules.pro包含RN核心类的防混淆规则:

-keep class com.facebook.react.** { *; }
-keep class com.facebook.react.bridge.** { *; }
-keep class com.facebook.react.turbomodule.** { *; }

内容的提问来源于stack exchange,提问作者Matthew De Jager

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 04:22:51