HybridApp

hybrid application 在Android 原生应用中集成React Native的实现

APACHE-2.0 License

Stars
15

HybridApp

AndroidReact Native UIo()oReact Native

demo

React 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

  • setting.gradle
include ':react-native-camera'
project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
  • app/build.gradle dependencies
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
}
  • MainApplication.java getPackagesPackage
    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

how to run

Android Studio

how to release

Windowsrelease.cmd js.bundle apk

macrelease.cmd bash bash

API