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

React Native安卓应用升级Target SDK 34后启动崩溃求助

解决React Native 0.66.5升级Target SDK 34后启动崩溃问题

问题分析

你遇到的崩溃源于React Native 0.66.5的BridgeDevSupportManager类与Android 14(Target SDK 34)环境不兼容,该类在新SDK规则下无法被正确实例化,最终导致Application初始化失败。结合你已升级Gradle及插件的操作,核心矛盾是旧版本RN未适配SDK34的API变更。

解决方案

1. 强制关闭开发者支持(快速修复)

生产环境本就应关闭开发者支持,开发环境也可临时关闭验证问题:

  • 修改MainApplication.java中的getUseDeveloperSupport方法:
    @Override
    public boolean getUseDeveloperSupport() {
      // 可根据BuildConfig.DEBUG精准控制,或直接返回false
      return false;
    }
    
  • 确保项目根目录gradle.properties中未开启新架构:
    newArchEnabled=false
    

2. 替换DevSupportManager初始化逻辑

若需保留开发环境调试功能,手动替换BridgeDevSupportManager的初始化方式:

  • 在MainApplication.java中引入DevSupportManagerFactory,并重写对应方法:
    import com.facebook.react.devsupport.DevSupportManagerFactory;
    
    // ...
    
    @Override
    protected ReactNativeHost createReactNativeHost() {
      return new ReactNativeHost(this) {
        // ... 保留原有配置
    
        @Override
        protected DevSupportManager createDevSupportManager() {
          return DevSupportManagerFactory.create(
            MainApplication.this,
            getReactInstanceManager(),
            getDevSupportManagerFactory()
          );
        }
      };
    }
    

3. 调整Gradle版本组合

部分Gradle插件与RN版本的组合存在兼容性问题,尝试切换为更匹配的版本:

  • 修改android/build.gradle中的Gradle插件版本:
    dependencies {
      classpath("com.android.tools.build:gradle:7.3.1")
    }
    
  • 修改gradle/wrapper/gradle-wrapper.properties中的Gradle版本:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
    

验证步骤

  1. 执行./gradlew clean清理项目缓存
  2. 重新构建并运行应用
  3. 检查第三方RN依赖是否适配SDK34,未适配的库需同步升级或替换

内容的提问来源于stack exchange,提问作者iBeginner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 05:12:16