diff --git a/packages/rn-tester/android/app/build.gradle b/packages/rn-tester/android/app/build.gradle index fca59e9f336..dbf6b8a38b0 100644 --- a/packages/rn-tester/android/app/build.gradle +++ b/packages/rn-tester/android/app/build.gradle @@ -198,6 +198,7 @@ if (enableCodegen) { "NDK_TOOLCHAIN_VERSION=clang", // The following paths assume building React Native from source. // TODO: Find a better way without pointing to ReactAndroid/build dir. + "GENERATED_SRC_DIR=$buildDir/generated/source", "REACT_ANDROID_SRC_DIR=$reactAndroidProjectDir/src/main", "REACT_COMMON_DIR=$rootDir/ReactCommon", "REACT_GENERATED_SRC_DIR=$reactAndroidBuildDir/generated/source", diff --git a/packages/rn-tester/android/app/src/main/jni/Android.mk b/packages/rn-tester/android/app/src/main/jni/Android.mk index c293cb24e8e..36783dc2e52 100644 --- a/packages/rn-tester/android/app/src/main/jni/Android.mk +++ b/packages/rn-tester/android/app/src/main/jni/Android.mk @@ -60,9 +60,10 @@ include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := rntester_appmodules -LOCAL_C_INCLUDES := $(LOCAL_PATH) -LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) -LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) +# Note: Build the react-native-codegen output along with other app-specific C++ files. +LOCAL_C_INCLUDES := $(LOCAL_PATH) $(GENERATED_SRC_DIR)/codegen/jni +LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp) +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) $(GENERATED_SRC_DIR)/codegen/jni LOCAL_SHARED_LIBRARIES := libreact_nativemodule_core libreact_nativemodule_manager libreact_codegen_reactandroidspec LOCAL_CFLAGS := \ -DLOG_TAG=\"ReactNative\" diff --git a/packages/rn-tester/android/app/src/main/jni/RNTesterAppModuleProvider.cpp b/packages/rn-tester/android/app/src/main/jni/RNTesterAppModuleProvider.cpp index 076da3a0f27..d16c9e6dee8 100644 --- a/packages/rn-tester/android/app/src/main/jni/RNTesterAppModuleProvider.cpp +++ b/packages/rn-tester/android/app/src/main/jni/RNTesterAppModuleProvider.cpp @@ -7,12 +7,17 @@ #include "RNTesterAppModuleProvider.h" +#include #include namespace facebook { namespace react { std::shared_ptr RNTesterAppModuleProvider(const std::string moduleName, const JavaTurboModule::InitParams ¶ms) { + auto module = PackagesRnTesterAndroidAppSpec_ModuleProvider(moduleName, params); + if (module != nullptr) { + return module; + } return ReactAndroidSpec_ModuleProvider(moduleName, params); }