├── version.json
├── index.html
└── .github
└── workflows
└── main.yml
/version.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.5-111504",
3 | "releaseUrl": "https://github.com/LumiaGG/GestureEVO-release/releases/tag/v1.5-111504",
4 | "downloadUrl": "https://github.com/LumiaGG/GestureEVO-release/releases/download/v1.5-111504/GestureEVO-1.5-111504.APK",
5 | "lastUpdated": "2025-11-15T15:44:51Z",
6 | "fileName": "GestureEVO-1.5-111504.APK",
7 | "releaseNotes": "1. 小窗支持了vivo等支持通过分享打开小窗的系统
2. 新增了搜索模块
3. 其他优化和修复
\n"
8 | }
9 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | GestureEVO APK 下载
7 |
71 |
72 |
73 |
94 |
95 |
117 |
118 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: Update APK and Create Release
2 |
3 | on:
4 | push:
5 | paths:
6 | - '*.APK' # 监控根目录下的APK文件
7 | workflow_dispatch: # 允许手动触发
8 |
9 | jobs:
10 | create-release-and-update:
11 | runs-on: ubuntu-latest
12 | permissions:
13 | contents: write # 需要创建发布
14 |
15 | steps:
16 | - name: Checkout repository
17 | uses: actions/checkout@v3
18 | with:
19 | fetch-depth: 0 # 获取完整历史记录以查找文件更改
20 |
21 | - name: Find latest APK file
22 | id: find-apk
23 | run: |
24 | # 查找最新的APK文件
25 | LATEST_APK=$(find . -maxdepth 1 -name "*.APK" -type f -o -name "*.apk" -type f | sort -r | head -n 1)
26 |
27 | # 如果没有找到APK,使用默认路径
28 | if [ -z "$LATEST_APK" ]; then
29 | LATEST_APK="GestureEVO-release.APK"
30 | fi
31 |
32 | echo "Found APK file: $LATEST_APK"
33 | echo "apk_path=$LATEST_APK" >> $GITHUB_OUTPUT
34 |
35 | # 从文件名提取版本号
36 | if [[ "$LATEST_APK" =~ GestureEVO-([0-9]+\.[0-9]+-[0-9]+)\.APK ]]; then
37 | VERSION="${BASH_REMATCH[1]}"
38 | elif [[ "$LATEST_APK" =~ -([0-9]+\.[0-9]+[.-][0-9]+)\.APK ]]; then
39 | VERSION="${BASH_REMATCH[1]}"
40 | else
41 | MODIFIED_DATE=$(git log -1 --format=%cd --date=format:"%Y.%m.%d" -- "$LATEST_APK")
42 | VERSION="$MODIFIED_DATE"
43 | fi
44 |
45 | echo "Extracted version: $VERSION"
46 | echo "version=$VERSION" >> $GITHUB_OUTPUT
47 | echo "apk_filename=$(basename "$LATEST_APK")" >> $GITHUB_OUTPUT
48 |
49 | - name: Get commit message for APK
50 | id: get-commit-message
51 | run: |
52 | # 获取添加APK文件的提交信息
53 | COMMIT_MESSAGE=$(git log -1 --pretty=format:%s -- "${{ steps.find-apk.outputs.apk_path }}")
54 | echo "commit_message=$COMMIT_MESSAGE" >> $GITHUB_OUTPUT
55 |
56 | - name: Create GitHub Release
57 | id: create-release
58 | uses: softprops/action-gh-release@v1
59 | with:
60 | files: ${{ steps.find-apk.outputs.apk_path }}
61 | tag_name: v${{ steps.find-apk.outputs.version }}
62 | name: GestureEVO v${{ steps.find-apk.outputs.version }}
63 | body: ${{ steps.get-commit-message.outputs.commit_message }}
64 | draft: false
65 | prerelease: false
66 | env:
67 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68 |
69 | - name: Get Release Info
70 | id: get-release-info
71 | run: |
72 | # 获取发布说明
73 | RELEASE_NOTES=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
74 | "https://api.github.com/repos/$GITHUB_REPOSITORY/releases/tags/v${{ steps.find-apk.outputs.version }}" | \
75 | jq -r '.body')
76 |
77 | # 转义JSON特殊字符
78 | RELEASE_NOTES_JSON=$(echo "$RELEASE_NOTES" | jq -Rs .)
79 |
80 | echo "release_url=https://github.com/$GITHUB_REPOSITORY/releases/tag/v${{ steps.find-apk.outputs.version }}" >> $GITHUB_OUTPUT
81 | echo "release_notes=$RELEASE_NOTES_JSON" >> $GITHUB_OUTPUT
82 |
83 | - name: Update version.json
84 | run: |
85 | CURRENT_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
86 |
87 | cat > version.json << EOF
88 | {
89 | "version": "${{ steps.find-apk.outputs.version }}",
90 | "releaseUrl": "https://github.com/$GITHUB_REPOSITORY/releases/tag/v${{ steps.find-apk.outputs.version }}",
91 | "downloadUrl": "https://github.com/$GITHUB_REPOSITORY/releases/download/v${{ steps.find-apk.outputs.version }}/${{ steps.find-apk.outputs.apk_filename }}",
92 | "lastUpdated": "$CURRENT_DATE",
93 | "fileName": "${{ steps.find-apk.outputs.apk_filename }}",
94 | "releaseNotes": ${{ steps.get-release-info.outputs.release_notes }}
95 | }
96 | EOF
97 | echo "Updated version.json"
98 |
99 | - name: Remove APK file
100 | run: |
101 | echo "Removing APK file from repository..."
102 | rm -f "${{ steps.find-apk.outputs.apk_path }}"
103 | echo "APK file removed."
104 |
105 | - name: Commit and push changes
106 | run: |
107 | git config --local user.email "action@github.com"
108 | git config --local user.name "GitHub Action"
109 |
110 | git add index.html version.json
111 | git add --all
112 |
113 | if git diff --staged --quiet; then
114 | echo "No changes to commit"
115 | else
116 | git commit -m "Update release info for v${{ steps.find-apk.outputs.version }}"
117 | git pull origin main --rebase
118 | git push origin main
119 | fi
--------------------------------------------------------------------------------