Skip to content

Instantly share code, notes, and snippets.

@guilherme-v
Created September 27, 2021 18:59
Show Gist options
  • Save guilherme-v/038f43d323a0748f97450e2bac3a80a1 to your computer and use it in GitHub Desktop.
Save guilherme-v/038f43d323a0748f97450e2bac3a80a1 to your computer and use it in GitHub Desktop.
Generate New Android Key + Files
#!/bin/bash
# This Scrip generates a common ANDROID DEV Key to be used by all develovers
# instead of using the one created by Android Studio.
# This will help when integrating with services like Firebase or when sending
# a dev apk to the team.
# ------------------------------------------------------------------------------------------------
# Example of configuration: https://coderwall.com/p/r09hoq/android-generate-release-debug-keystores
# ------------------------------------------------------------------------------------------------
# Generate Keystores
# To generate keystores for signing Android apps at the command line, use:
# $ keytool -genkey -v -keystore my-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
# A debug keystore which is used to sign an Android app during development needs a specific alias and password combination as dictated by Google. To create a debug keystore, use:
# $ keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
# Keystore name: "debug.keystore"
# Keystore password: "android"
# Key alias: "androiddebugkey"
# Key password: "android"
# CN: "CN=Android Debug,O=Android,C=US"
# ------------------------------------------------------------------------------------------------
DEV_KEYSTORE="android_dev_key"
DEV_STOREPASS="android"
DEV_DNAME="cn=DEV,ou=DEV,o=DEV,c=US"
DEV_ALIAS="android_dev_key"
DEV_KEYPASS="android"
DAYS_VALID=100000
DEV_KEY_STORE_PROPERTIES_FILE="android_dev_key_keystore"
DEV_KEY_FINGERPRINT_FILE="android_dev_key_fingerprint"
echo -e "GENERATING ANDROID DEV KEY + KEYSTORE + FINGERPRINT FILE...\n"
keytool -genkey -v -keystore "$DEV_KEYSTORE".keystore \
-storepass "$DEV_STOREPASS" \
-alias "$DEV_ALIAS" \
-dname "$DEV_DNAME" \
-keypass "$DEV_KEYPASS" \
-keyalg RSA -keysize 2048 -validity "$DAYS_VALID"
keytool -list -v \
-keystore "$DEV_KEYSTORE".keystore \
-alias "$DEV_ALIAS" \
-storepass "$DEV_STOREPASS" \
-keypass "$DEV_KEYPASS" \
> "$DEV_KEY_FINGERPRINT_FILE".txt
touch "$DEV_KEY_STORE_PROPERTIES_FILE".properties
echo storeFile=../keys/development/"$DEV_KEYSTORE".keystore >> "$DEV_KEY_STORE_PROPERTIES_FILE".properties
echo storePassword="$DEV_STOREPASS" >> "$DEV_KEY_STORE_PROPERTIES_FILE".properties
echo keyAlias="$DEV_ALIAS" >> "$DEV_KEY_STORE_PROPERTIES_FILE".properties
echo keyPassword="$DEV_KEYPASS" >> "$DEV_KEY_STORE_PROPERTIES_FILE".properties
# mv "$DEV_KEYSTORE".keystore development
# mv "$DEV_KEY_STORE_PROPERTIES_FILE".properties development
# mv "$DEV_KEY_FINGERPRINT_FILE".txt development
echo -e "\n ALL THINGS GENERATED SUCCESSFULLY o/\n"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment