50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						||
# 应用秘钥创建脚本
 | 
						||
# Linux 命令行创建JKS秘钥,alias和keyAlias可配置,文件名含时间戳
 | 
						||
 | 
						||
# 可配置参数(按需修改)
 | 
						||
ALIAS="WinBoLL.CC_Debug"  # 别名(与keyAlias一致)
 | 
						||
STORE_PASS="androiddebugkey"
 | 
						||
KEY_PASS="androiddebugkey"
 | 
						||
COUNTRY="CN"        # 国家代码
 | 
						||
 | 
						||
# 获取当前时间戳
 | 
						||
TIMESTAMP=$(date +%Y%m%d%H%M%S)
 | 
						||
FILENAME="${ALIAS}_${TIMESTAMP}.jks"
 | 
						||
STORENAME="${ALIAS}_${TIMESTAMP}.keystore"
 | 
						||
 | 
						||
# 生成JKS文件(alias与keyAlias同步)
 | 
						||
keytool -genkeypair \
 | 
						||
  -alias "${ALIAS}" \
 | 
						||
  -keyalg RSA \
 | 
						||
  -keysize 2048 \
 | 
						||
  -validity 1 \
 | 
						||
  -keystore "${FILENAME}" \
 | 
						||
  -dname "CN=WBFans, OU=Studio, O=WinBoLL, L=Shanwei, ST=Guangdong, C=${COUNTRY}" \
 | 
						||
  -storepass "${STORE_PASS}" \
 | 
						||
  -keypass "${KEY_PASS}"
 | 
						||
 | 
						||
# 写入配置文件
 | 
						||
cat <<EOF > ${STORENAME}
 | 
						||
keyAlias=${ALIAS}
 | 
						||
keyPassword=${KEY_PASS}
 | 
						||
storeFile=../appkey.jks
 | 
						||
storePassword=${STORE_PASS}
 | 
						||
EOF
 | 
						||
 | 
						||
echo "已生成秘钥:${FILENAME}"
 | 
						||
echo "配置已写入 ${STORENAME}(keyAlias=${ALIAS})"
 | 
						||
 | 
						||
# 询问是否复制文件
 | 
						||
read -p "是否需要将文件复制为 appkey.jks 和 appkey.keystore?(y/n): " CONFIRM
 | 
						||
 | 
						||
if [[ $CONFIRM =~ ^[Yy]$ ]]; then
 | 
						||
  # 复制 jks 文件为 appkey.jks
 | 
						||
  cp -v ${FILENAME} ../appkey.jks
 | 
						||
  # 复制 keystore 文件为 appkey.keystore
 | 
						||
  cp -v ${STORENAME} ../appkey.keystore
 | 
						||
  echo "文件复制完成"
 | 
						||
else
 | 
						||
  echo "已取消文件复制"
 | 
						||
fi
 |