@@ -43,13 +43,36 @@ jobs:
4343 - name : Sync Capacitor Android Project
4444 run : npx cap sync android
4545
46- - name : Build and Sign Android APK
47- uses : Narottam04/action-capacitor-android@v1
46+ - name : Set up Java
47+ uses : actions/setup-java@v4
4848 with :
49- build-type : ' release'
49+ distribution : temurin
50+ java-version : ' 21'
51+ cache : gradle
52+
53+ - name : Build and Sign Android APK
5054 env :
51- RELEASE_KEYSTORE : ${{ secrets.RELEASE_KEYSTORE }}
55+ RELEASE_KEYSTORE_BASE64 : ${{ secrets.RELEASE_KEYSTORE }}
5256 RELEASE_KEYSTORE_PASSWORD : ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
57+ RELEASE_KEY_ALIAS : ${{ secrets.RELEASE_KEY_ALIAS }}
58+ RELEASE_KEY_ALIAS_PASSWORD : ${{ secrets.RELEASE_KEY_ALIAS_PASSWORD }}
59+ run : |
60+ : "${RELEASE_KEYSTORE_BASE64:?Set the RELEASE_KEYSTORE secret with your base64-encoded keystore}"
61+ : "${RELEASE_KEYSTORE_PASSWORD:?Set the RELEASE_KEYSTORE_PASSWORD secret with your keystore password}"
62+ : "${RELEASE_KEY_ALIAS:?Set the RELEASE_KEY_ALIAS secret with your key alias}"
63+ : "${RELEASE_KEY_ALIAS_PASSWORD:?Set the RELEASE_KEY_ALIAS_PASSWORD secret with your key alias password}"
64+
65+ mkdir -p android/keystore
66+ echo "$RELEASE_KEYSTORE_BASE64" | base64 --decode > android/keystore/release.jks
67+
68+ pushd android >/dev/null
69+ ./gradlew clean
70+ ./gradlew assembleRelease \
71+ -Pandroid.injected.signing.store.file="$PWD/keystore/release.jks" \
72+ -Pandroid.injected.signing.store.password="$RELEASE_KEYSTORE_PASSWORD" \
73+ -Pandroid.injected.signing.key.alias="$RELEASE_KEY_ALIAS" \
74+ -Pandroid.injected.signing.key.password="$RELEASE_KEY_ALIAS_PASSWORD"
75+ popd >/dev/null
5376
5477 - name : Upload APK as Artifact
5578 uses : actions/upload-artifact@v4
0 commit comments