2.6 KiB
2.6 KiB
Direct APK Release Guide (No Play Store)
This guide is for shipping Dewemoji Android builds as downloadable .apk files from your own site.
1) One-time prerequisites
- Decide and keep a stable Android package id (example:
com.dewemoji.app). - Create and securely store a release keystore.
- Keep the same keystore for all future updates.
- Keep
versionCodestrictly increasing for each release.
If keystore or package id changes, users will not receive in-place updates.
2) Build release APK
Use your Android build command (NativePHP/Capacitor/Gradle), and ensure output is a release APK.
Typical Gradle command:
./gradlew assembleRelease
Expected output path (common):
android/app/build/outputs/apk/release/app-release.apk
3) Sign and verify APK
If your build pipeline does not auto-sign, sign manually.
A) Sign
apksigner sign \
--ks /path/to/keystore.jks \
--ks-key-alias your_alias \
--out dewemoji-vX.Y.Z.apk \
android/app/build/outputs/apk/release/app-release.apk
B) Verify signature
apksigner verify --verbose --print-certs dewemoji-vX.Y.Z.apk
4) Generate checksum
Publish SHA-256 so users can verify file integrity.
shasum -a 256 dewemoji-vX.Y.Z.apk
Record output in release notes.
5) Upload APK to your server
Recommended path:
https://dewemoji.com/downloads/dewemoji-vX.Y.Z.apk
Recommended server headers:
Content-Type: application/vnd.android.package-archiveContent-Disposition: attachment; filename="dewemoji-vX.Y.Z.apk"- Serve over HTTPS only
6) Update Download page content
On your /download page, show:
- Version (
vX.Y.Z) - Build date
- File size
- Minimum Android version
- SHA-256 checksum
- Install instructions
- Changelog
Recommended install instructions for users:
- Download APK from official Dewemoji URL.
- Open file on Android.
- Allow installation from browser/files app if prompted.
- Install/update.
7) Release checklist
Before publishing:
- Login works
- Search works
- Copy/insert flow works on device
- Theme/tone UI works
- Billing links/webviews (if used) open correctly
- No crash on cold start
- Version updated and visible in app
8) Quick rollback
If latest APK is bad:
- Re-point Download button to previous APK URL.
- Keep bad APK file archived (do not overwrite silently).
- Publish rollback notice/changelog update.
9) Recommended file naming
Use immutable names:
dewemoji-v1.1.1.apk
dewemoji-v1.1.2.apk
Avoid re-uploading different binaries under the same filename.