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

如何将React Native默认生成文件从Kotlin改为Java?

如何让React Native默认生成Java格式的原生文件

方法一:创建新项目时直接指定Java模板

如果还未创建项目,初始化时可使用官方维护的Java模板,生成的Android原生文件会默认采用Java格式:

npx react-native init YourAppName --template react-native-template-java

若需要结合TypeScript开发,也可以使用对应的TypeScript+Java模板:

npx react-native init YourAppName --template react-native-template-typescript-java

方法二:将已有的Kotlin项目转为Java格式

如果已经创建了默认的Kotlin项目,可通过以下步骤手动转换为Java格式:

  1. 删除Android模块下的Kotlin文件
    找到android/app/src/main/java/[你的包路径](比如com/yourappname),删除其中的MainActivity.kt和MainApplication.kt文件。
  2. 创建对应的Java文件
    在同一目录下新建MainActivity.java和MainApplication.java,内容示例如下(注意替换代码中的包名和项目名称):
    • MainActivity.java
      package com.yourappname;
      
      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 "YourAppName";
        }
      
        @Override
        protected ReactActivityDelegate createReactActivityDelegate() {
          return new DefaultReactActivityDelegate(
              this,
              getMainComponentName(),
              DefaultNewArchitectureEntryPoint.getFabricEnabled());
        }
      }
      
    • MainApplication.java
      package com.yourappname;
      
      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();
          }
        }
      }
      
  3. 移除Kotlin相关配置
    打开android/app/build.gradle,删除以下内容:
    • 顶部的apply plugin: 'kotlin-android'
    • dependencies中的implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
      再打开android/gradle.properties,删除kotlin_version=xxx这一行配置。
  4. 同步Gradle并测试
    在Android Studio中同步Gradle项目,或在终端执行cd android && ./gradlew clean,之后即可正常运行项目。

内容的提问来源于stack exchange,提问作者Cyril Ang-numbaala

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:29:55