java - run - Cómo registrar el módulo C++ React Native en Android
react native run android (1)
Tengo un módulo C ++ React Native derivado de facebook::xplat::module::CxxModule
. Está funcionando bien con el proyecto de iOS, pero ahora estoy tratando de averiguar cómo usarlo desde Java. La única documentación que encontré es el comentario en React Native codebase indicando que:
NativeModules cuya implementación está escrita en C ++ no debe proporcionar ningún código Java (por lo tanto, puede reutilizarse en otras plataformas) y, en su lugar, debe registrarse utilizando CxxModuleWrapper.
Mi pregunta es cómo registrar el módulo C ++ en Java usando CxxModuleWrapper
Consulte este blog para obtener más información: https://medium.com/@kudochien/how-to-write-a-react-native-cxxmodule-59073259f15d . Fragmento del blog:
Exportarlo desde nativo
extern "C" HelloCxxModule* createHelloCxxModule() {
return new HelloCxxModule();
}
Regístralo en java
public final class HelloCxxPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Arrays.<NativeModule>asList(
// I have librnpackage-hellocxx.so the exported createHelloCxxModule() above.
CxxModuleWrapper.makeDso("rnpackage-hellocxx", "createHelloCxxModule")
);
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}