一键导入
android-release
// Build, sign, and prepare Android APK and AAB for release. Handles version bumping, building, zipalign (APK), and signing with JKS keystore. Outputs DecentPaste_x.x.x.apk for GitHub releases and signed AAB for Play Console.
// Build, sign, and prepare Android APK and AAB for release. Handles version bumping, building, zipalign (APK), and signing with JKS keystore. Outputs DecentPaste_x.x.x.apk for GitHub releases and signed AAB for Play Console.
| name | android-release |
| description | Build, sign, and prepare Android APK and AAB for release. Handles version bumping, building, zipalign (APK), and signing with JKS keystore. Outputs DecentPaste_x.x.x.apk for GitHub releases and signed AAB for Play Console. |
Build signed APK (GitHub) and AAB (Play Console).
Ask user for: version (x.x.x), JKS keystore path, keystore alias. Never ask for password - user enters it during signing.
Use /bump-version workflow to update all 4 config files.
cd decentpaste-app && yarn tauri android build && cd ..
Outputs (from project root):
decentpaste-app/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apkdecentpaste-app/src-tauri/gen/android/app/build/outputs/bundle/universalRelease/app-universal-release.aabZipalign BEFORE signing (Claude runs):
zipalign -v 4 <unsigned-apk> DecentPaste_VERSION_aligned.apk
Signing (user runs - contains password):
apksigner sign --ks <keystore> --ks-key-alias <alias> --out DecentPaste_VERSION.apk DecentPaste_VERSION_aligned.apk
After user confirms, delete aligned file.
Use jarsigner not apksigner - AABs are JAR-like bundles. No zipalign needed.
User runs:
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore <keystore> <aab-path> <alias>
cp <aab-path> DecentPaste_VERSION.aab
apksigner verify --verbose DecentPaste_VERSION.apk
jarsigner -verify -verbose DecentPaste_VERSION.aab
Report: files created, versions updated, next steps (commit, tag, upload).
Bump version numbers across all DecentPaste config files (package.json, Cargo.toml, tauri.conf.json, downloads.json). Use for version updates without building.
Build, archive, and prepare iOS app for TestFlight/App Store. Handles version bumping, build number configuration, Xcode archiving, and upload. Use when preparing a new iOS release for TestFlight beta testing or App Store submission.
Resize screenshots to App Store required dimensions. Use when uploading screenshots to App Store Connect fails with "dimensions are wrong" error. Supports iPhone 6.7", 6.5", 5.5" and iPad sizes.
Remove alpha channel (transparency) from iOS app icons. Apple App Store rejects icons with transparency. Use this after regenerating app icons or before iOS archive/upload to fix the "Invalid large app icon - can't be transparent or contain an alpha channel" error.
Create a GitHub release with auto-generated release notes from commits since the last tag. Uses conventional commits to categorize changes into Features, Bug Fixes, and maintenance sections.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.