diff --git a/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer.meta b/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer.meta
new file mode 100644
index 0000000..d82aa90
--- /dev/null
+++ b/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f0cef2fc19b2407381c7163d3a87ddec
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer/AndroidSettingsGradleFixer.cs b/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer/AndroidSettingsGradleFixer.cs
new file mode 100644
index 0000000..067bb6a
--- /dev/null
+++ b/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer/AndroidSettingsGradleFixer.cs
@@ -0,0 +1,56 @@
+#if UNITY_ANDROID
+
+namespace Guru.BuildTool
+{
+    using System.IO;
+    using UnityEditor.Android;
+    using UnityEngine;
+    
+    public class AndroidSettingsGradleFixer: IPostGenerateGradleAndroidProject
+    {
+        private const string SettingsGradleName= "settings.gradle";
+        private const string K_LINE_UNITYPROJECT = "def unityProjectPath"; 
+        
+        public int callbackOrder => 1;
+
+        public void OnPostGenerateGradleAndroidProject(string buildPath)
+        {
+            FixSettingsInAndroidProject(buildPath);
+        }
+
+        /// 
+        /// 设置项目中的 Settings 文件
+        /// 
+        /// 
+        private void FixSettingsInAndroidProject(string buildPath)
+        {
+            var settingsPath = Path.GetFullPath($"{buildPath}/../{SettingsGradleName}");
+
+            if (File.Exists(settingsPath))
+            {
+                bool isDirty = false;
+                var lines = File.ReadAllLines(settingsPath);
+                string projectPath = Path.GetFullPath($"{Application.dataPath}/../").Replace("\\", "/"); // Unity project path
+                for (int i = 0; i < lines.Length; i++)
+                {
+                    if (lines[i].Contains(K_LINE_UNITYPROJECT))
+                    {
+                        lines[i] = $"        def unityProjectPath = $/file:////{projectPath}/$.replace(\"\\\\\", \"/\")";
+                        isDirty = true;
+                        break;
+                    }
+                }
+
+                if (isDirty)
+                {
+                    File.WriteAllLines(settingsPath, lines);
+                    Debug.Log($"[SDK] --- Fix Unity Project Path at:{settingsPath}");
+                }
+                
+            }
+        }
+
+    }
+}
+
+#endif
\ No newline at end of file
diff --git a/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer/AndroidSettingsGradleFixer.cs.meta b/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer/AndroidSettingsGradleFixer.cs.meta
new file mode 100644
index 0000000..1cc15cc
--- /dev/null
+++ b/Editor/GuruBuildSuit/AndroidSettingsTemplateFixer/AndroidSettingsGradleFixer.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 125df18a1af243018be105c54ab9bb5b
+timeCreated: 1722257677
\ No newline at end of file