集成
集成到现有原生应用
1.创建RN项目
2.AS中创建原生Android项目(模拟原生已经存在的Android项目)
3.将RN中自带的RNActivity,RNApplication页面,导入到Android原生项目中:
1)导入RN依赖
在你的app中 build.gradle 文件中添加 React Native 依赖:
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 中声明:
3)在AndroidManifest.xml中声明RNActivity,RNApplication
<activity android:name=".RNActivity"></activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
4)通过android项目点击事件,启动RN视图
Intent intent = new Intent(MainActivity.this, RNActivity.class);
startActivity(intent);
4)将android原生项目,导入到RN/android目录:最编译运行
5)运行app项目,启动RN服务即可
64位手机问题解决:
defaultConfig {
ndk {
abiFilters "armeabi-v7a", "x86"
}
packagingOptions {
exclude "lib/arm64-v8a/libimagepipeline.so"
}
}