Re-signing Builds
If you prefer not to upload your production signing credentials to html2app, you can build with test credentials and re-sign the builds locally with your production keys.
Overview
- Create test credentials (separate from your production keystore)
- Upload test credentials to html2app
- Build your app (note: all builds are signed, even those labeled "unsigned")
- Download the signed build
- Re-sign locally with your production credentials
- Distribute to app stores
Android
Note: All installable APKs and AABs must be signed. Even builds labeled as "unsigned" are actually signed with a debug or test keystore. You'll need to remove this signature before applying your production keystore.
Remove the existing signature and apply your production keystore.
APK Re-signing
Method 1: Using apksigner (Recommended)
apksigner is the modern signing tool from Android SDK Build Tools 24.0.3+. With apksigner, you must zipalign BEFORE signing.
Method 2: Using jarsigner (Legacy)
If you need to use jarsigner, you must zipalign AFTER signing. Note that Google recommends using apksigner instead.
AAB (Android App Bundle) Re-signing
AABs don't require zipalign since Google Play handles final APK generation and alignment. Use jarsigner to sign AAB files (note: apksigner only supports APK files, not AABs).
Note: AABs use Google Play App Signing. You sign with your upload key, then Google re-signs the final APKs with the app signing key before distribution.
iOS
Replace the provisioning profile and re-sign with your production certificate. Use one of these tools:
- Fastlane (recommended):
fastlane resign- see Fastlane docs - Command line: Use
codesignto replace the signature - see Apple's codesign guide - GUI tools: ios-app-signer, Sideloadly