From d1458981c5b1b5ca63029dcde7930771c9cb9d9d Mon Sep 17 00:00:00 2001 From: xuqm Date: Tue, 15 Jul 2025 15:39:11 +0800 Subject: [PATCH] =?UTF-8?q?refactor(app):=20=E9=87=8D=E6=9E=84=20MultipleR?= =?UTF-8?q?eactActivityDelegate=20=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E9=80=BB=E8=BE=91-=20=E5=B0=86=20MultipleReactActivit?= =?UTF-8?q?yDelegate=E4=BB=8E=20runtime=20=E5=8C=85=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E5=88=B0=20multiple=E5=8C=85=20-=20=E6=9B=B4=E6=96=B0=20BuzAct?= =?UTF-8?q?ivity=20=E4=B8=AD=E7=9A=84=E6=9D=A1=E4=BB=B6=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E7=94=A8=20BuildConfig.DEBUG=20=E6=9B=BF?= =?UTF-8?q?=E4=BB=A3=20BuildConfig.BUILD=5FTYPE=20-=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=20gradle.properties=20=E4=B8=AD=E7=9A=84=20configuration-cache?= =?UTF-8?q?=20=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/trust/ywx/BuzActivity.kt | 10 ++++---- .../MultipleReactActivityDelegate.kt | 25 ++++++++++++++----- android/gradle.properties | 2 +- 3 files changed, 25 insertions(+), 12 deletions(-) rename android/app/src/main/java/com/{facebook/react/runtime => trust/ywx/multiple}/MultipleReactActivityDelegate.kt (86%) diff --git a/android/app/src/main/java/com/trust/ywx/BuzActivity.kt b/android/app/src/main/java/com/trust/ywx/BuzActivity.kt index 7e724da..bafc337 100644 --- a/android/app/src/main/java/com/trust/ywx/BuzActivity.kt +++ b/android/app/src/main/java/com/trust/ywx/BuzActivity.kt @@ -1,13 +1,13 @@ package com.trust.ywx import android.os.Bundle +import android.widget.Toast import com.facebook.react.ReactActivity -import com.trust.ywx.specs.navigation.NavigationHelper import com.facebook.react.ReactActivityDelegate import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled import com.facebook.react.defaults.DefaultReactActivityDelegate -import com.facebook.react.runtime.MultipleReactActivityDelegate -import android.widget.Toast +import com.trust.ywx.multiple.MultipleReactActivityDelegate +import com.trust.ywx.specs.navigation.NavigationHelper class BuzActivity : ReactActivity() { @@ -22,7 +22,7 @@ class BuzActivity : ReactActivity() { * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] */ override fun createReactActivityDelegate(): ReactActivityDelegate = - if (BuildConfig.BUILD_TYPE == "debug") DefaultReactActivityDelegate( + if (BuildConfig.DEBUG) DefaultReactActivityDelegate( this, mainComponentName, fabricEnabled @@ -31,7 +31,7 @@ class BuzActivity : ReactActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) AppManager.addActivity(this) - Toast.makeText(this, "BuzActivity:"+BuildConfig.BUILD_TYPE, Toast.LENGTH_SHORT).show() + Toast.makeText(this, "BuzActivity:" + BuildConfig.DEBUG, Toast.LENGTH_SHORT).show() } override fun onDestroy() { diff --git a/android/app/src/main/java/com/facebook/react/runtime/MultipleReactActivityDelegate.kt b/android/app/src/main/java/com/trust/ywx/multiple/MultipleReactActivityDelegate.kt similarity index 86% rename from android/app/src/main/java/com/facebook/react/runtime/MultipleReactActivityDelegate.kt rename to android/app/src/main/java/com/trust/ywx/multiple/MultipleReactActivityDelegate.kt index aa8e319..e6ccde3 100644 --- a/android/app/src/main/java/com/facebook/react/runtime/MultipleReactActivityDelegate.kt +++ b/android/app/src/main/java/com/trust/ywx/multiple/MultipleReactActivityDelegate.kt @@ -1,4 +1,4 @@ -package com.facebook.react.runtime +package com.trust.ywx.multiple import android.content.Intent import android.content.pm.ActivityInfo @@ -17,6 +17,8 @@ import com.facebook.react.bridge.ReactContext import com.facebook.react.common.annotations.DeprecatedInNewArchitecture import com.facebook.react.defaults.DefaultReactActivityDelegate import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags.enableBridgelessArchitecture +import com.facebook.react.runtime.ReactHostHelper +import com.facebook.react.runtime.ReactHostImpl class MultipleReactActivityDelegate( activity: ReactActivity, @@ -48,7 +50,11 @@ class MultipleReactActivityDelegate( reactHost?.start()?.waitForCompletion() val result = helper.loadBundle( - JSBundleLoader.createAssetLoader(this.reactActivity, "assets://index.android.bundle", false), + JSBundleLoader.createAssetLoader( + this.reactActivity, + "assets://index.android.bundle", + false + ), ) Log.i("TestApp", "load biz bundle ==> $result") @@ -63,7 +69,8 @@ class MultipleReactActivityDelegate( this.isFabricEnabled, ) { override fun createRootView(): ReactRootView { - var rootView: ReactRootView? = this@MultipleReactActivityDelegate.createRootView() + var rootView: ReactRootView? = + this@MultipleReactActivityDelegate.createRootView() if (rootView == null) { rootView = super.createRootView() } @@ -77,8 +84,13 @@ class MultipleReactActivityDelegate( override fun onReactContextInitialized(context: ReactContext) { Log.i("TestApp", "Multiple onReactContextInitialized") - val instance = reactNativeHost.reactInstanceManager.currentReactContext?.catalystInstance - instance?.loadScriptFromAssets(context.assets, "assets://index.android.bundle", false) + val instance = + reactNativeHost.reactInstanceManager.currentReactContext?.catalystInstance + instance?.loadScriptFromAssets( + context.assets, + "assets://index.android.bundle", + false + ) Log.i("TestApp", "loaded biz bundle") if (mainComponentName != null) { try { @@ -100,7 +112,8 @@ class MultipleReactActivityDelegate( override fun getReactDelegate(): ReactDelegate = mReactDelegate!! @DeprecatedInNewArchitecture(message = "Use getReactHost()") - override fun getReactInstanceManager(): ReactInstanceManager = mReactDelegate!!.reactInstanceManager + override fun getReactInstanceManager(): ReactInstanceManager = + mReactDelegate!!.reactInstanceManager override fun loadApp(appKey: String?) { mReactDelegate!!.loadApp(appKey) diff --git a/android/gradle.properties b/android/gradle.properties index d9978cf..50fab52 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -37,4 +37,4 @@ newArchEnabled=true # Use this property to enable or disable the Hermes JS engine. # If set to false, you will be using JSC instead. hermesEnabled=true -org.gradle.configuration-cache=true \ No newline at end of file +#org.gradle.configuration-cache=true \ No newline at end of file