From 9a6354fbbf17954e123a48c2c925814523537f84 Mon Sep 17 00:00:00 2001 From: Shawn Dempsey Date: Mon, 16 Sep 2024 20:03:07 -0700 Subject: [PATCH] Annotate DefaultTurboModuleManagerDelegate to avoid redex stripping dep in prod (#46527) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46527 Changelog: [Internal] **Context** - `DefaultTurboModuleManagerDelegate.kt` was being stripped by redex since there was no direct dependency. - This was causing a crash in prod builds ``` Trace: java.lang.RuntimeException: Unable to create application com.facebook.mobilehome.MobileHomeAppShell: java.lang.ClassNotFoundException: Didn't find class "com.facebook.react.defaults.DefaultTurboModuleManagerDelegate" on path: DexPathList ``` **Change** - Annotate `DefaultTurboModuleManagerDelegate.kt` with `DoNotStripAny` - Don't strip `DoNotStripAny` annotated classes Reviewed By: mdvacca Differential Revision: D62766339 fbshipit-source-id: 7d9bfa04e252c392b94f739443bacf34f593e481 --- .../react/defaults/DefaultTurboModuleManagerDelegate.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt index 3da64bac3f0..f1448171642 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt @@ -9,6 +9,7 @@ package com.facebook.react.defaults import com.facebook.jni.HybridData import com.facebook.proguard.annotations.DoNotStrip +import com.facebook.proguard.annotations.DoNotStripAny import com.facebook.react.ReactPackage import com.facebook.react.ReactPackageTurboModuleManagerDelegate import com.facebook.react.bridge.ReactApplicationContext @@ -25,6 +26,7 @@ import com.facebook.react.runtime.cxxreactpackage.CxxReactPackage * TODO(T186951312): Should this be @UnstableReactNativeAPI? */ @OptIn(UnstableReactNativeAPI::class) +@DoNotStripAny public class DefaultTurboModuleManagerDelegate private constructor( context: ReactApplicationContext,