From 7f4c157a90ab68403702072be9425d05c428e893 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Sun, 31 Aug 2025 22:53:29 +0800 Subject: [PATCH] chore: build with install package permission by default for Android (#1939) --- .github/workflows/release.yml | 5 ---- .../scripts/release-google-play.sh | 24 +++++++++++++++++++ .../android/app/src/main/AndroidManifest.xml | 1 + 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0f6033b..b9fae924 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -210,11 +210,6 @@ jobs: pnpm tauri icon ../../data/icons/readest-book.png git checkout . - MANIFEST="src-tauri/gen/android/app/src/main/AndroidManifest.xml" - PERMISSION_LINE='' - grep -q 'REQUEST_INSTALL_PACKAGES' "$MANIFEST" || \ - sed -i "/android.permission.INTERNET/a \ $PERMISSION_LINE" "$MANIFEST" - pushd src-tauri/gen/android echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > keystore.properties echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> keystore.properties diff --git a/apps/readest-app/scripts/release-google-play.sh b/apps/readest-app/scripts/release-google-play.sh index 389c7c0b..0ce68f0c 100755 --- a/apps/readest-app/scripts/release-google-play.sh +++ b/apps/readest-app/scripts/release-google-play.sh @@ -23,6 +23,8 @@ VERSION_CODE=$((10#$MAJOR * 10000 + 10#$MINOR * 1000 + 10#$PATCH)) echo "๐Ÿ”ข Computed versionCode: $VERSION_CODE" PROPERTIES_FILE="./src-tauri/gen/android/app/tauri.properties" +MANIFEST="./src-tauri/gen/android/app/src/main/AndroidManifest.xml" +PERMISSION_LINE='' if [[ ! -f "$PROPERTIES_FILE" ]]; then echo "โŒ File not found: $PROPERTIES_FILE" @@ -36,9 +38,31 @@ mv "$tmpfile" "$PROPERTIES_FILE" echo "โœ… Updated $PROPERTIES_FILE" +# --- REMOVE PERMISSION BEFORE BUILD --- +if grep -q 'REQUEST_INSTALL_PACKAGES' "$MANIFEST"; then + echo "๐Ÿงน Removing REQUEST_INSTALL_PACKAGES from AndroidManifest.xml" + if [[ "$OSTYPE" == "darwin"* ]]; then + sed -i '' "/REQUEST_INSTALL_PACKAGES/d" "$MANIFEST" + else + sed -i "/REQUEST_INSTALL_PACKAGES/d" "$MANIFEST" + fi +fi + echo "๐Ÿš€ Running: pnpm tauri android build" pnpm tauri android build +# --- ADD PERMISSION BACK AFTER BUILD --- +if ! grep -q 'REQUEST_INSTALL_PACKAGES' "$MANIFEST"; then + echo "โ™ป๏ธ Restoring REQUEST_INSTALL_PACKAGES in AndroidManifest.xml" + if [[ "$OSTYPE" == "darwin"* ]]; then + sed -i '' "/android.permission.INTERNET/a\\ + $PERMISSION_LINE + " "$MANIFEST" + else + sed -i "/android.permission.INTERNET/a \ $PERMISSION_LINE" "$MANIFEST" + fi +fi + source .env.google-play.local if [[ -z "$GOOGLE_PLAY_JSON_KEY_FILE" ]]; then echo "โŒ GOOGLE_PLAY_JSON_KEY_FILE is not set" diff --git a/apps/readest-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml b/apps/readest-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml index 446eebf5..fd3917f7 100644 --- a/apps/readest-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml +++ b/apps/readest-app/src-tauri/gen/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ +