集成到现有原生应用
1.创建RN项目
2.AS中创建原生Android项目
3.将RN中自带的RNActivity,RNApplication页面,导入到Android原生项目中:
1)导入RN依赖
在你的app中 build.gradle 文件中添加 React Native 依赖:
dependencies {
...
implementation "com.facebook.react:react-native:+" // From node_modules.
}
在项目的 build.gradle 文件中为 React Native 添加一个 maven 依赖的入口,必须写在 "allprojects" 代码块中:
allprojects {
repositories {
...
maven {
// All of React Native (JS, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
...
}
2)在 AndroidManifest.xml 清单文件中声明网络权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
DevSettingsActivity 界面(即开发者菜单),则还需要在 AndroidManifest.xml 中声明:
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
3)在AndroidManifest.xml中声明RNActivity,RNApplication
<application
android:name=".RNApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".RNActivity"></activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
4)通过android项目点击事件,启动RN视图
Intent intent = new Intent(MainActivity.this, RNActivity.class);
startActivity(intent);
4)将android原生项目,导入到RN/android目录:最编译运行
5)运行app项目,启动RN服务即可