This guide outlines the steps to securely prepare WarframeTools for release on the Google Play Store.
IMPORTANT: Never commit your .jks or key.properties files to version control (GitHub). They are already added to .gitignore.
If you haven't already, generate an upload key:
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias uploadCreate a file at android/key.properties with the following content:
storePassword=<your-store-password>
keyPassword=<your-key-password>
keyAlias=upload
storeFile=<path-to-your-keystore-file>To use the key.properties file, update your android/app/build.gradle.kts:
// Add this near the top of the 'android' block
val keystorePropertiesFile = rootProject.file("key.properties")
val keystoreProperties = Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
android {
// ...
signingConfigs {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String?
keyPassword = keystoreProperties["keyPassword"] as String?
storeFile = keystoreProperties["storeFile"]?.let { file(it) }
storePassword = keystoreProperties["storePassword"] as String?
}
}
buildTypes {
getByName("release") {
signingConfig = signingConfigs.getByName("release")
// Optional: Add obfuscation
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
}Google Play Store requires the App Bundle (.aab) format:
flutter build appbundle --releaseThe output file will be located at:
build/app/outputs/bundle/release/app-release.aab
- Version name and code are updated in
pubspec.yaml. - App icon is correctly generated (done).
- Privacy Policy is uploaded to your website/GitHub and linked in Play Console.
- All debug prints and logs are removed or disabled.