diff --git a/Editor/GuruBuildSuit/AndroidMessagingActivityFixer/FirebaseMessagingActivityFixer.cs b/Editor/GuruBuildSuit/AndroidMessagingActivityFixer/FirebaseMessagingActivityFixer.cs
new file mode 100644
index 0000000..648cb50
--- /dev/null
+++ b/Editor/GuruBuildSuit/AndroidMessagingActivityFixer/FirebaseMessagingActivityFixer.cs
@@ -0,0 +1,70 @@
+#if UNITY_ANDROID
+namespace Guru.BuildTool
+{
+    using System.IO;
+    using UnityEngine;
+    using UnityEditor.Build;
+    using UnityEditor.Build.Reporting;
+
+    /// 
+    /// MessagingUnityPlayerActivity.java 修改器
+    /// 用于在构建的时候将 super.onCreate(savedInstanceState); 替换为 super.onCreate(null);
+    /// 可在 PlayerSettings 内指定 NO_FIRBASE_ACTIVITY_FIX 来进行屏蔽
+    /// 
+    public class FirebaseMessagingActivityFixer: IPreprocessBuildWithReport
+    {
+        /// 
+        /// 执行顺序
+        /// 
+        public int callbackOrder => 10;
+
+        private const string SOURCE_PATH = "Plugins/Android";
+        private const string TARGET_NAME = "MessagingUnityPlayerActivity.java";
+        private const string CONTENT_NEED_TO_FIX = "super.onCreate(savedInstanceState);";
+        private const string CONTENT_FIXED = "super.onCreate(null);";
+        
+
+        public void OnPreprocessBuild(BuildReport report)
+        {
+#if NO_FIRBASE_ACTIVITY_FIX
+            return;
+#endif
+            var targetPath = GetTargetPath();
+            if (!File.Exists(targetPath))
+            {
+                Debug.LogWarning($"[POST] --- Target file not exist: {targetPath}");
+                return;
+            }
+
+            var conents = File.ReadAllText(targetPath);
+
+            if (string.IsNullOrEmpty(conents))
+            {
+                Debug.LogWarning($"[POST] --- Target is empty: {targetPath}");
+                return;
+            }
+
+            if (!conents.Contains(CONTENT_NEED_TO_FIX))
+            {
+                Debug.LogWarning($"[POST] --- Target is no need to fix: {targetPath}");
+                return;
+            }
+            
+            var newContents = conents.Replace(CONTENT_NEED_TO_FIX, CONTENT_FIXED);
+            File.WriteAllText(targetPath, newContents);
+            Debug.Log($"[POST] --- Target file has been fixed: {targetPath}");
+        }
+        
+        private string GetTargetPath()
+        {
+            return Path.Combine(Application.dataPath, SOURCE_PATH, TARGET_NAME);
+        }
+
+        
+
+
+
+    }
+}
+
+#endif
\ No newline at end of file
diff --git a/Editor/GuruBuildSuit/AndroidMessagingActivityFixer/FirebaseMessagingActivityFixer.cs.meta b/Editor/GuruBuildSuit/AndroidMessagingActivityFixer/FirebaseMessagingActivityFixer.cs.meta
new file mode 100644
index 0000000..7edbb50
--- /dev/null
+++ b/Editor/GuruBuildSuit/AndroidMessagingActivityFixer/FirebaseMessagingActivityFixer.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c0ee675e82f14fb48f857d0fd2a82034
+timeCreated: 1726133378
\ No newline at end of file