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

如何创建默认使用Java的React Native Android项目?

如何让React Native项目Android端默认使用Java开发

一、创建新项目时直接指定Java语言

React Native从0.70版本开始,Android端默认采用Kotlin、iOS端默认采用Swift作为开发语言。若想创建时直接使用Java,只需在init命令后追加--android-language java参数:

npx react-native init TestApp --android-language java

执行该命令后,生成的Android项目会默认使用Java,无需后续修改配置。

二、将已创建的Kotlin项目转为Java

如果已经用默认方式创建了项目,可按以下步骤切换到Java开发:

  1. 创建Java版核心文件
    在android/app/src/main/java/[你的项目包名]目录下(例如包名为com.testapp,路径则为android/app/src/main/java/com/testapp),创建两个Java文件:
  • MainActivity.java
    package com.testapp;
    
    import com.facebook.react.ReactActivity;
    import com.facebook.react.ReactActivityDelegate;
    import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
    import com.facebook.react.defaults.DefaultReactActivityDelegate;
    
    public class MainActivity extends ReactActivity {
      @Override
      protected String getMainComponentName() {
        return "TestApp";
      }
    
      @Override
      protected ReactActivityDelegate createReactActivityDelegate() {
        return new DefaultReactActivityDelegate(
            this,
            getMainComponentName(),
            DefaultNewArchitectureEntryPoint.getFabricEnabled()
        );
      }
    }
    
  • MainApplication.java
    package com.testapp;
    
    import android.app.Application;
    import com.facebook.react.PackageList;
    import com.facebook.react.ReactApplication;
    import com.facebook.react.ReactNativeHost;
    import com.facebook.react.ReactPackage;
    import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
    import com.facebook.react.defaults.DefaultReactNativeHost;
    import com.facebook.soloader.SoLoader;
    import java.util.List;
    
    public class MainApplication extends Application implements ReactApplication {
      private final ReactNativeHost mReactNativeHost =
          new DefaultReactNativeHost(this) {
            @Override
            public boolean getUseDeveloperSupport() {
              return BuildConfig.DEBUG;
            }
    
            @Override
            protected List<ReactPackage> getPackages() {
              List<ReactPackage> packages = new PackageList(this).getPackages();
              return packages;
            }
    
            @Override
            protected String getJSMainModuleName() {
              return "index";
            }
    
            @Override
            protected boolean isNewArchEnabled() {
              return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
            }
    
            @Override
            protected Boolean isHermesEnabled() {
              return BuildConfig.IS_HERMES_ENABLED;
            }
          };
    
      @Override
      public ReactNativeHost getReactNativeHost() {
        return mReactNativeHost;
      }
    
      @Override
      public void onCreate() {
        super.onCreate();
        SoLoader.init(this, false);
        if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
          DefaultNewArchitectureEntryPoint.load();
        }
      }
    }
    

注意将代码中的com.testapp替换为你实际的项目包名。

  1. 修改Gradle配置文件
  • 打开android/app/build.gradle:
    • 删除Kotlin相关依赖,比如implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    • 在android节点的defaultConfig中,确保android:name指向Java版的MainApplication:
      defaultConfig {
          applicationId "com.testapp"
          // 其他配置项...
          android:name=".MainApplication"
      }
      
  • 打开android/build.gradle:
    • 删除Kotlin插件依赖,比如classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    • 删除ext.kotlin_version = "x.x.x"这一行(如果存在)
  1. 清理并重新构建项目
    执行以下命令清理缓存并重新运行项目:
cd android
./gradlew clean
cd ..
npx react-native run-android

完成后即可使用Java开发Android端代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:07:05