File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -194,20 +194,27 @@ jobs:
194194 run : ./gradlew assembleRelease
195195
196196 - name : Sign APK
197- if : env .KEYSTORE_BASE64 != ''
197+ if : ${{ secrets .KEYSTORE_BASE64 != '' && secrets.KEYSTORE_PASSWORD != '' && secrets.KEY_ALIAS != '' && secrets.KEY_PASSWORD != '' }}
198198 env :
199199 KEYSTORE_BASE64 : ${{ secrets.KEYSTORE_BASE64 }}
200200 KEYSTORE_PASSWORD : ${{ secrets.KEYSTORE_PASSWORD }}
201201 KEY_ALIAS : ${{ secrets.KEY_ALIAS }}
202202 KEY_PASSWORD : ${{ secrets.KEY_PASSWORD }}
203203 run : |
204+ # Ensure build-tools are present (zipalign/apksigner)
205+ yes | sdkmanager --licenses >/dev/null || true
206+ sdkmanager "build-tools;35.0.0"
207+
204208 echo "$KEYSTORE_BASE64" | base64 -d > keystore.jks
205- # Find the unsigned APK
206209 APK=$(find app/build/outputs/apk/release -name '*.apk' | head -1)
207210 ALIGNED="app/build/outputs/apk/release/screenmcp-aligned.apk"
208211 SIGNED="app/build/outputs/apk/release/screenmcp-signed.apk"
209- zipalign -v -p 4 "$APK" "$ALIGNED"
210- apksigner sign \
212+
213+ ZIPALIGN=$(find "$ANDROID_SDK_ROOT/build-tools" -name zipalign | sort -V | tail -1)
214+ APKSIGNER=$(find "$ANDROID_SDK_ROOT/build-tools" -name apksigner | sort -V | tail -1)
215+
216+ "$ZIPALIGN" -v -p 4 "$APK" "$ALIGNED"
217+ "$APKSIGNER" sign \
211218 --ks keystore.jks \
212219 --ks-pass "pass:$KEYSTORE_PASSWORD" \
213220 --ks-key-alias "$KEY_ALIAS" \
You can’t perform that action at this time.
0 commit comments