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

如何使用React Native CLI创建基于Java而非Kotlin的项目

用React Native CLI创建Java版Android入口文件的方案

一、创建新项目时直接生成Java文件

使用React Native CLI的--android-language参数指定Android端语言为Java,执行以下命令:

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

执行后生成的项目中,Android目录下的MainActivity和MainApplication都会是Java文件,无需额外修改。

二、将已有的Kotlin项目转为Java项目

如果已经创建了默认Kotlin的RN项目,可按以下步骤替换为Java实现:

  1. 删除Kotlin文件
    进入android/app/src/main/java/com/[你的项目包名]/目录,删除MainActivity.kt和MainApplication.kt文件。

  2. 创建对应的Java文件
    在同一目录下创建MainActivity.java和MainApplication.java,代码示例如下:

    MainActivity.java

    package com.YourProjectName;
    
    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 "YourProjectName";
      }
    
      @Override
      protected ReactActivityDelegate createReactActivityDelegate() {
        return new DefaultReactActivityDelegate(
            this,
            getMainComponentName(),
            DefaultNewArchitectureEntryPoint.getFabricEnabled());
      }
    }
    

    MainApplication.java

    package com.YourProjectName;
    
    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();
        }
      }
    }
    

    注意替换代码中的YourProjectName为你的实际项目名称。

  3. 移除Kotlin相关配置
    打开android/app/build.gradle文件:

    • 删除顶部的apply plugin: 'kotlin-android'
    • 删除dependencies块中的implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
  4. 同步并运行项目
    打开Android Studio,同步Gradle配置,之后即可正常运行项目。

内容的提问来源于stack exchange,提问作者João

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:35:15