@@ -69,19 +69,23 @@ jobs:
6969 run : |
7070 export PATH=$PATH:$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin
7171
72- # Initialize Android project if not exists
73- if [ ! -d "src-tauri/gen/android" ]; then
74- echo "📱 Initializing Android project..."
75- pnpm tauri android init
76- else
77- echo "✅ Android project already initialized"
78- fi
72+ # Recreate Android project on every CI run to avoid stale/incomplete generated files
73+ echo "📱 Reinitializing Android project..."
74+ rm -rf src-tauri/gen/android
75+ pnpm tauri android init
7976
8077 # Verify initialization
81- if [ ! -d "src-tauri/gen/android" ]; then
78+ if [ ! -d "src-tauri/gen/android/app/src/main " ]; then
8279 echo "❌ Android initialization failed"
8380 exit 1
8481 fi
82+
83+ # Restore Android permissions that are tracked separately in git
84+ echo "🎙️ Restoring Android recording permissions..."
85+ MANIFEST_PATH="src-tauri/gen/android/app/src/main/AndroidManifest.xml"
86+ if ! grep -q 'android.permission.RECORD_AUDIO' "$MANIFEST_PATH"; then
87+ perl -0pi -e 's|<manifest([^>]*)>|<manifest$1>\n <uses-permission android:name="android.permission.RECORD_AUDIO" \/>\n <uses-feature android:name="android.hardware.microphone" android:required="false" \/>|' "$MANIFEST_PATH"
88+ fi
8589
8690 # Set custom Android icon
8791 echo "🎨 Setting custom Android icon..."
9397 "src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi"
9498 "src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi"
9599 )
100+
101+ mkdir -p "${MIPMAP_DIRS[@]}"
96102
97103 # Install ImageMagick for icon conversion
98104 sudo apt-get update && sudo apt-get install -y imagemagick
0 commit comments