83 lines
2.2 KiB
Bash
83 lines
2.2 KiB
Bash
|
|
#!/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 "✅ 签名流程完成"
|