mirror of
https://github.com/SECTL/SecScore.git
synced 2026-07-19 12:34:22 +08:00
更新图标、修复 Android 构建和签名
1. 更新所有软件图标为 resources 文件夹中的图标 - src-tauri/icons/icon.ico (Windows 应用图标) - src-tauri/icons/icon.png (托盘图标) - public/favicon.svg (浏览器图标) - src/assets/logoHD.svg 和 logo.svg (应用内 Logo) 2. 修复 Android APK 签名配置 - 添加签名步骤,使用 apksigner 签名 APK - 支持通过 GitHub Secrets 配置签名密钥 - 签名后自动删除未签名版本 - 上传产物时排除未签名 APK 3. 修复三个架构 APK 被覆盖的问题 - 改为单次构建命令包含所有架构:--target aarch64 --target armv7 --target x86_64 - Tauri 会自动生成包含所有架构的 universal APK
This commit is contained in:
@@ -210,19 +210,60 @@ jobs:
|
||||
- name: 初始化 Android 项目
|
||||
run: pnpm tauri android init
|
||||
|
||||
- name: 构建 Android(ARM64)
|
||||
run: pnpm tauri android build --target aarch64
|
||||
- name: 构建 Android Universal APK
|
||||
run: pnpm tauri android build --target aarch64 --target armv7 --target x86_64
|
||||
|
||||
- name: 构建 Android(ARMv7)
|
||||
run: pnpm tauri android build --target armv7
|
||||
- name: 安装 Android SDK Build Tools
|
||||
env:
|
||||
ANDROID_SIGNING_KEY: ${{ secrets.ANDROID_SIGNING_KEY }}
|
||||
if: ${{ env.ANDROID_SIGNING_KEY != '' }}
|
||||
run: |
|
||||
sdkmanager "build-tools;33.0.0"
|
||||
|
||||
- name: 构建 Android(x86_64)
|
||||
run: pnpm tauri android build --target x86_64
|
||||
- name: 签名 APK
|
||||
env:
|
||||
ANDROID_SIGNING_KEY: ${{ secrets.ANDROID_SIGNING_KEY }}
|
||||
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
|
||||
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
|
||||
ANDROID_STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }}
|
||||
if: ${{ env.ANDROID_SIGNING_KEY != '' }}
|
||||
run: |
|
||||
# 创建临时密钥库文件
|
||||
echo "$ANDROID_SIGNING_KEY" | base64 -d > /tmp/android_keystore.jks
|
||||
|
||||
# 找到所有未签名的 APK 文件
|
||||
find src-tauri/gen/android/app/build/outputs -name "*-unsigned.apk" -type f | while read -r apk; do
|
||||
# 生成签名后的文件名
|
||||
signed_apk="${apk/-unsigned/-signed}"
|
||||
|
||||
# 使用 apksigner 签名
|
||||
"${ANDROID_SDK_ROOT}/build-tools/33.0.0/apksigner" sign \
|
||||
--ks /tmp/android_keystore.jks \
|
||||
--ks-key-alias "$ANDROID_KEY_ALIAS" \
|
||||
--ks-pass pass:"$ANDROID_STORE_PASSWORD" \
|
||||
--key-pass pass:"$ANDROID_KEY_PASSWORD" \
|
||||
--out "$signed_apk" \
|
||||
"$apk"
|
||||
|
||||
echo "已签名: $signed_apk"
|
||||
|
||||
# 验证签名
|
||||
"${ANDROID_SDK_ROOT}/build-tools/33.0.0/apksigner" verify "$signed_apk"
|
||||
|
||||
# 删除未签名版本,重命名签名版本
|
||||
rm "$apk"
|
||||
mv "$signed_apk" "${apk/-unsigned/}"
|
||||
done
|
||||
|
||||
# 清理密钥库
|
||||
rm -f /tmp/android_keystore.jks
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: dist-android
|
||||
path: src-tauri/gen/android/app/build/outputs/**/*.apk
|
||||
path: |
|
||||
src-tauri/gen/android/app/build/outputs/**/*.apk
|
||||
!src-tauri/gen/android/app/build/outputs/**/*-unsigned.apk
|
||||
|
||||
release:
|
||||
needs: [parse, build_win, build_mac, build_linux, build_android]
|
||||
|
||||
Reference in New Issue
Block a user