4706e2669c
An Android duplicate-photo finder. Pure-Kotlin core (SHA-256 + dHash hashing, exact and perceptual union-find grouping, three sensitivity presets) with MediaStore access, a persistent SQLite hash index and a tiered ScanEngine behind a Jetpack Compose UI. No INTERNET permission, no ads, no analytics, no account. Ships versionCode 2 / versionName 1.0.1, carrying the scan-stall hardening (BoundedCall breaker) and verified against a 5,363-photo device library. 80 JVM unit tests, lint clean. Release paperwork is in docs/ (Play checklist, store listing, edge-case testing), the upload-ready Play graphics and screenshots in store-assets/, and the generators for those assets in tools/.
25 lines
947 B
Plaintext
25 lines
947 B
Plaintext
# Template for release signing. Copy to `keystore.properties` and fill in real values.
|
|
#
|
|
# `keystore.properties` is git-ignored and must NEVER be committed.
|
|
#
|
|
# Generate an upload keystore (keep the file and passwords safe — losing the
|
|
# upload key means you cannot ship updates to Google Play):
|
|
#
|
|
# keytool -genkeypair -v \
|
|
# -keystore upload-keystore.jks \
|
|
# -alias upload \
|
|
# -keyalg RSA -keysize 4096 -validity 10000
|
|
#
|
|
# Then enable Play App Signing in the Play Console and register this key as the
|
|
# *upload* key (Google keeps the app signing key).
|
|
|
|
# Path to your keystore (absolute is safest).
|
|
storeFile=/absolute/path/to/fotodup-upload.jks
|
|
storePassword=change-me
|
|
keyAlias=upload
|
|
|
|
# Optional — defaults to storePassword when omitted or left blank.
|
|
# PKCS12 keystores (the default on modern JDKs) cannot have a key password that
|
|
# differs from the store password, so this is normally the same value.
|
|
keyPassword=change-me
|