Warning: mysqli_query(): (HY000/1030): Got error 28 from storage engine in /www/wwwroot/1.cn.cn/wp-includes/class-wpdb.php on line 2351
Android原生项目集成React Native的方法

一、开发环境准备
安装Node.js和npm
步骤:从[Node.js官网](https://nodejs.org/)下载并安装最新版本。
验证安装:在命令行输入node -v和npm -v,确保正确显示版本号。
安装React Native CLI
npm install -g react-native-cli
创建React Native项目
npx react-native init MyProject
二、配置Android原生项目
添加React Native依赖
在你的Android项目的build.gradle文件中,添加以下依赖:
dependencies {
implementation "com.facebook.react:react-native:+" // From node_modules
}
配置Maven仓库路径
在项目的build.gradle文件中的allprojects代码块中添加本地Maven仓库路径:

allprojects {
repositories {
...
maven {
url "$rootDir/../node_modules/react-native/android"
}
}
}
注意:如果你的node_modules目录在项目根目录下,则路径应为url "$rootDir/node_modules/react-native/android"。
解决依赖冲突(可选)
如果遇到类似Error:Conflict with dependency 'com.google.code.findbugs:jsr305'的错误,可以在build.gradle文件中添加以下配置:
configurations.all {
resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
}
三、集成React Native组件
创建React Native模块
在你的项目中创建一个新目录(例如src/main/java/com/yourpackage/rnmodule),并在其中创建一个新的Java类(例如MyReactModule.java):
package com.yourpackage.rnmodule;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MyReactModule implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}
注册模块
在主应用的MainApplication.java中注册新的React模块:
import com.yourpackage.rnmodule.MyReactModule; // 导入你的模块
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import java.util.Arrays;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new MyReactModule() // 添加你的模块
);
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
}
}
3.修改AndroidManifest.xml

确保在AndroidManifest.xml中声明了必要的权限和服务:
<uses-permission android:name="android.permission.INTERNET" />
<application>
...
<activity android:name=".MainActivity">
...
</activity>
<service android:name="com.facebook.react.jstasks.HeadlessJsTaskService" />
</application>
四、运行与调试
启动React Native服务
在项目根目录下运行以下命令以启动React Native开发服务器:
npx react-native start
构建并运行项目
使用Android Studio构建并运行你的项目,你应该能够看到React Native组件被成功集成到原生应用中。
通过以上步骤,你可以将React Native成功集成到一个现有的Android原生项目中,这种方法不仅提高了开发效率,还允许开发者利用React Native的强大功能来增强应用的用户体验,希望这篇指南能帮助你顺利完成集成工作。