360加固脚本
· 2 min read
本脚本封装了 360 加固命令行工具,适用于 Mac 和 Linux 系统,可同时用于 apk 和 aab 文件。
info
- 请先下载 360 加固的命令行工具,并解压到当前工程目录下,重命名为 jiagu_cli。
- 配置 360 加固需要的 licence 字段,位于 jiagu_cli/licence 文件中。
- 在本脚本里配置好签名keystone相关字段,包括 keystore 路径、密码等。
#!/bin/bash
set -e
# 全局keystore配置
KEYSTORE_PATH="android/app/duoke.jks" # keystore路径
KEYSTORE_PASSWORD="your_keystore_password" # keystore密码
ALIAS="your_alias" # 别名
ALIAS_PASSWORD="your_alias_password" # 别名密码
# 假设当前工程目 录下存放360的jiagu_cli/startup脚本
case "$(uname -s)" in
Darwin) STARTUP_COMMAND="./jiagu_cli/startup" ;;
Linux) STARTUP_COMMAND="./jiagu_cli/startup.sh" ;;
*) echo "Unsupported OS"; exit 1 ;;
esac
# 根据文件类型初始化全局变量
init_file_variables() {
FILENAME=$(basename -- "$FILE_PATH")
DIRECTORY=$(dirname -- "$FILE_PATH")
EXTENSION="${FILENAME##*.}"
NEW_FILENAME="${FILENAME%.*}-jiagu.$EXTENSION"
}
# keystore配置
add_signature_config() {
$STARTUP_COMMAND --config-sign-$EXTENSION add "$KEYSTORE_PATH" "$KEYSTORE_PASSWORD" "$ALIAS" "$ALIAS_PASSWORD"
}
# 加固配置
add_jiagu_config() {
$STARTUP_COMMAND --config-jiagu-$EXTENSION update --x86 --cert-check --name "my_config" --pn "any"
}
# 加固
jiagu() {
$STARTUP_COMMAND --jiagu-$EXTENSION "$FILE_PATH" "$DIRECTORY/$NEW_FILENAME" --auto-sign
}
# 主函数
start() {
init_file_variables
add_signature_config
add_jiagu_config
jiagu
}
echo "This script will help you to sign your Android APK or AAB file using 360 jiagu."
# Check if a file path argument is provided
if [ -z "$1" ]; then
echo "Usage: $0 <file_path>"
echo "Error: Please provide a valid apk or aab file path as an argument."
exit 1
fi
# Check if the provided file is APK or AAB
if [[ "$1" != *.apk ]] && [[ "$1" != *.aab ]]; then
echo "Error: Unsupported file type. Please provide a valid APK or AAB file."
exit 1
fi
FILE_PATH=$1
# 将输出重定向到变量
output=$(start 2>&1 | tee /dev/stderr)
# 检查输出中是否包含错误信息
if echo "$output" | grep -q "ERROR"; then
echo "Failed"
else
echo "Done! The new file:$DIRECTORY/$NEW_FILENAME"
fi