-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathgenerate-release-keystore.sh
More file actions
executable file
·54 lines (42 loc) · 1.29 KB
/
generate-release-keystore.sh
File metadata and controls
executable file
·54 lines (42 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
# Script to generate Android release keystore on Ubuntu
# Prints info for gradle.properties
echo "=== Android Release Keystore Generator ==="
read -p "Enter keystore directory (default: ./keys): " KEY_DIR
KEY_DIR=${KEY_DIR:-./keys}
mkdir -p "$KEY_DIR"
read -p "Enter keystore name (default: release-key.jks): " KEYSTORE_NAME
KEYSTORE_NAME=${KEYSTORE_NAME:-release-key.jks}
read -p "Enter key alias (default: key0): " KEY_ALIAS
KEY_ALIAS=${KEY_ALIAS:-key0}
read -s -p "Enter keystore password: " KEY_PASS
echo
read -s -p "Confirm keystore password: " KEY_PASS_CONFIRM
echo
if [ "$KEY_PASS" != "$KEY_PASS_CONFIRM" ]; then
echo "❌ Passwords do not match!"
exit 1
fi
KEY_PATH="$KEY_DIR/$KEYSTORE_NAME"
echo
echo "Generating keystore at $KEY_PATH ..."
keytool -genkeypair \
-v \
-keystore "$KEY_PATH" \
-alias "$KEY_ALIAS" \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-storepass "$KEY_PASS" \
-keypass "$KEY_PASS" \
-dname "CN=Your Name, OU=Dev, O=Company, L=City, ST=State, C=US"
echo
echo "🎉 Keystore generated!"
echo
echo "Add this to your gradle.properties:"
echo "-----------------------------------"
echo "storePassword=$KEY_PASS"
echo "keyPassword=$KEY_PASS"
echo "keyAlias=$KEY_ALIAS"
echo "storeFile=$KEY_PATH"
echo "-----------------------------------"