Files
anroid-CheckShot/create-signing.sh

83 lines
2.2 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 创建Android应用签名文件并生成Base64字符串
echo "=== Android应用签名生成工具 ==="
echo ""
# 检查keytool是否可用
if ! command -v keytool &> /dev/null; then
echo "❌ keytool命令未找到请安装Java JDK"
exit 1
fi
# 签名配置
KEYSTORE_NAME="logcam-release.jks"
ALIAS="logcam-release-key"
STORE_PASS="android123"
KEY_PASS="android123"
DNAME="CN=LogCam, OU=Development, O=Example, L=Beijing, ST=Beijing, C=CN"
echo "📋 签名配置:"
echo " - 密钥库文件: $KEYSTORE_NAME"
echo " - 别名: $ALIAS"
echo " - 密钥库密码: $STORE_PASS"
echo " - 密钥密码: $KEY_PASS"
echo ""
# 生成签名文件
echo "🔑 生成签名文件..."
keytool -genkeypair -v \
-keystore "$KEYSTORE_NAME" \
-keyalg RSA -keysize 2048 \
-validity 10000 \
-alias "$ALIAS" \
-storepass "$STORE_PASS" \
-keypass "$KEY_PASS" \
-dname "$DNAME"
if [ $? -eq 0 ]; then
echo "✅ 签名文件生成成功: $KEYSTORE_NAME"
ls -la "$KEYSTORE_NAME"
else
echo "❌ 签名文件生成失败"
exit 1
fi
echo ""
echo "🔄 生成Base64字符串..."
# 生成Base64字符串
SIGNING_KEY_BASE64=$(base64 -w 0 "$KEYSTORE_NAME")
if [ $? -eq 0 ]; then
echo "✅ Base64字符串生成成功"
else
echo "❌ Base64转换失败"
exit 1
fi
echo ""
echo "📋 GitHub Secrets配置信息:"
echo "========================================"
echo "SIGNING_KEY (密钥文件Base64):"
echo "$SIGNING_KEY_BASE64"
echo "========================================"
echo ""
echo "ALIAS (别名): $ALIAS"
echo "KEYSTORE_PASSWORD (密钥库密码): $STORE_PASS"
echo "KEY_PASSWORD (密钥密码): $KEY_PASS"
echo "========================================"
echo ""
echo "📱 后续步骤:"
echo "1. 访问 https://github.com/xiajid/logcam/settings/secrets/actions"
echo "2. 创建以下Secrets:"
echo " - SIGNING_KEY: 粘贴上面的Base64字符串"
echo " - ALIAS: \"$ALIAS\""
echo " - KEYSTORE_PASSWORD: \"$STORE_PASS\""
echo " - KEY_PASSWORD: \"$KEY_PASS\""
echo "3. 提交新工作流文件"
echo "4. 触发构建获得签名版APK"
echo ""
echo "🔧 签名文件信息:"
keytool -list -v -keystore "$KEYSTORE_NAME" -storepass "$STORE_PASS" | grep -E "别名|有效期|指纹"
echo ""
echo "✅ 签名流程完成"