diff --git a/cakewallet.bat b/cakewallet.bat
index 2639b39b8..1904c5710 100644
--- a/cakewallet.bat
+++ b/cakewallet.bat
@@ -7,6 +7,10 @@ set secrets_file_path=lib\.secrets.g.dart
 set release_dir=build\windows\x64\runner\Release
 @REM Path could be different
 if [%~1]==[] (set tools_root=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.38.33135\x64\Microsoft.VC143.CRT) else (set tools_root=%1)
+@REM Generate android manifest file
+cd scripts
+bash.exe gen_android_manifest.sh
+cd /d %cw_root%
 echo === Generating pubspec.yaml ===
 copy /Y pubspec_description.yaml pubspec.yaml > nul
 call flutter pub get > nul
diff --git a/scripts/android/app_config.sh b/scripts/android/app_config.sh
index e2cbd72da..5fe5e503d 100755
--- a/scripts/android/app_config.sh
+++ b/scripts/android/app_config.sh
@@ -8,5 +8,5 @@ fi
 ./app_properties.sh
 ./app_icon.sh
 ./pubspec_gen.sh
-./manifest.sh
+./manifest.sh true #force overwrite manifest
 ./inject_app_details.sh
diff --git a/scripts/android/manifest.sh b/scripts/android/manifest.sh
index 95459606d..dab24d5c0 100755
--- a/scripts/android/manifest.sh
+++ b/scripts/android/manifest.sh
@@ -1,5 +1,10 @@
 #!/bin/bash
 
 cd ../..
-cp -rf ./android/app/src/main/AndroidManifestBase.xml ./android/app/src/main/AndroidManifest.xml
-cd scripts/android
\ No newline at end of file
+
+if [ "$1" = true ]; then
+    cp -rf ./android/app/src/main/AndroidManifestBase.xml ./android/app/src/main/AndroidManifest.xml
+else
+    cp -n ./android/app/src/main/AndroidManifestBase.xml ./android/app/src/main/AndroidManifest.xml
+fi
+cd scripts/android
diff --git a/scripts/gen_android_manifest.sh b/scripts/gen_android_manifest.sh
new file mode 100755
index 000000000..d6f7a130d
--- /dev/null
+++ b/scripts/gen_android_manifest.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+ANDROID_SCRIPTS_DIR=`pwd`/android
+if [ ! -d $ANDROID_SCRIPTS_DIR ]; then
+    echo "no android scripts directory found at ${ANDROID_SCRIPTS_DIR}"
+    exit 0
+fi
+
+cd $ANDROID_SCRIPTS_DIR
+./manifest.sh
diff --git a/scripts/ios/app_config.sh b/scripts/ios/app_config.sh
index 5482868bf..056f6f463 100755
--- a/scripts/ios/app_config.sh
+++ b/scripts/ios/app_config.sh
@@ -10,7 +10,9 @@ if [ -z "$APP_IOS_TYPE" ]; then
         exit 1
 fi
 
-cd ../.. # go to root
+cd .. # go to scipts
+./gen_android_manifest.sh
+cd .. # go to root
 cp -rf ./ios/Runner/InfoBase.plist ./ios/Runner/Info.plist
 /usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName ${APP_IOS_NAME}" ./ios/Runner/Info.plist
 /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier ${APP_IOS_BUNDLE_ID}" ./ios/Runner/Info.plist
diff --git a/scripts/macos/app_config.sh b/scripts/macos/app_config.sh
index a1143bb12..a526d1be2 100755
--- a/scripts/macos/app_config.sh
+++ b/scripts/macos/app_config.sh
@@ -9,7 +9,9 @@ if [ -z "$APP_MACOS_TYPE" ]; then
         exit 1
 fi
 
-cd ../.. # go to root
+cd .. # go to scipts
+./gen_android_manifest.sh
+cd .. # go to root
 cp -rf ./macos/Runner/InfoBase.plist ./macos/Runner/Info.plist
 /usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName ${APP_MACOS_NAME}" ./macos/Runner/Info.plist
 /usr/libexec/PlistBuddy -c "Set :CFBundleName ${APP_MACOS_NAME}" ./macos/Runner/Info.plist
@@ -40,4 +42,4 @@ flutter pub run tool/generate_pubspec.dart
 flutter pub get
 flutter packages pub run tool/configure.dart $CONFIG_ARGS
 cd $DIR
-$DIR/app_icon.sh
\ No newline at end of file
+$DIR/app_icon.sh