Skip to content

Commit 34e4f28

Browse files
committed
fix(ci): force reinit android project in release workflow
1 parent d26bbf9 commit 34e4f28

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

.github/workflows/release.yml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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..."
@@ -93,6 +97,8 @@ jobs:
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

Comments
 (0)