hybrid application 在Android 原生应用中集成React Native的实现
APACHE-2.0 License
AndroidReact Native UIo()oReact Native
React NativeReact NativeIntegration with Existing Apps****
React Native react-native-camera/react-native-image-picker ********
,ASReact NativeAndroidreact-native-camera(appmodule.React Nativereact-native link React Native
include ':react-native-camera'
project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
dependencies {
compile project(':react-native-camera')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
}
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 RCTCameraPackage()
);
}
@Override
protected String getJSMainModuleName() {
return "index";
}
};
()
React Nativereact-native linknode_modulessetting.gradle
include ':app'
include ':react-native-camera'
project(':react-native-camera').projectDir = new File(rootProject.projectDir, 'node_modules/react-native-camera/android')
include ':react-native-video'
project(':react-native-video').projectDir = new File(rootProject.projectDir, 'node_modules/react-native-video/android')
include ':react-native-image-crop-picker'
project(':react-native-image-crop-picker').projectDir = new File(rootProject.projectDir, 'node_modules/react-native-image-crop-picker/android')
modulemoduleprojectDir module
Android Studio
Windowsrelease.cmd js.bundle apk
macrelease.cmd bash bash