#!/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 "✅ 签名流程完成"