mirror of
https://github.com/oneclickvirt/ecs.git
synced 2025-12-24 12:37:53 +08:00
fix:完全无法使用termux的方式直接嵌入二进制文件执行,只能打包自带依赖
This commit is contained in:
112
.github/workflows/build.yml
vendored
112
.github/workflows/build.yml
vendored
@@ -92,62 +92,6 @@ jobs:
|
||||
- name: Verify dependencies
|
||||
run: go mod verify
|
||||
|
||||
- name: Download ECS binaries and prepare for Android
|
||||
run: |
|
||||
REPO="oneclickvirt/ecs"
|
||||
|
||||
# 使用 gh CLI 获取最新版本
|
||||
echo "获取最新版本信息..."
|
||||
ECS_VERSION=$(gh release view --repo "$REPO" --json tagName --jq '.tagName')
|
||||
|
||||
if [ -z "$ECS_VERSION" ]; then
|
||||
echo "错误: 无法获取最新版本"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "ECS 版本: $ECS_VERSION"
|
||||
|
||||
# 创建 jniLibs 目录
|
||||
mkdir -p jniLibs/arm64-v8a
|
||||
mkdir -p jniLibs/x86_64
|
||||
|
||||
# 下载 Linux ARM64(用于 Android ARM64)
|
||||
echo "下载 Linux ARM64..."
|
||||
gh release download "$ECS_VERSION" --repo "$REPO" --pattern "goecs_linux_arm64.zip" --output "/tmp/goecs_linux_arm64.zip"
|
||||
unzip -q -o "/tmp/goecs_linux_arm64.zip" -d /tmp/
|
||||
mv /tmp/goecs jniLibs/arm64-v8a/libgoecs.so
|
||||
chmod 755 jniLibs/arm64-v8a/libgoecs.so
|
||||
|
||||
# 下载 Linux AMD64(用于 Android x86_64)
|
||||
echo "下载 Linux AMD64..."
|
||||
gh release download "$ECS_VERSION" --repo "$REPO" --pattern "goecs_linux_amd64.zip" --output "/tmp/goecs_linux_amd64.zip"
|
||||
unzip -q -o "/tmp/goecs_linux_amd64.zip" -d /tmp/
|
||||
mv /tmp/goecs jniLibs/x86_64/libgoecs.so
|
||||
chmod 755 jniLibs/x86_64/libgoecs.so
|
||||
|
||||
# 下载 proot(用于在 Android 上运行 Linux 二进制文件)
|
||||
echo "下载 proot..."
|
||||
PROOT_VERSION="5.4.0"
|
||||
|
||||
# ARM64 proot
|
||||
curl -L "https://github.com/proot-me/proot/releases/download/v${PROOT_VERSION}/proot-v${PROOT_VERSION}-aarch64-static" \
|
||||
-o jniLibs/arm64-v8a/libproot.so
|
||||
chmod 755 jniLibs/arm64-v8a/libproot.so
|
||||
|
||||
# x86_64 proot
|
||||
curl -L "https://github.com/proot-me/proot/releases/download/v${PROOT_VERSION}/proot-v${PROOT_VERSION}-x86_64-static" \
|
||||
-o jniLibs/x86_64/libproot.so
|
||||
chmod 755 jniLibs/x86_64/libproot.so
|
||||
|
||||
echo ""
|
||||
echo "jniLibs 文件列表:"
|
||||
ls -lh jniLibs/*/*.so
|
||||
echo ""
|
||||
echo "文件大小:"
|
||||
du -sh jniLibs/*/*.so
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Update FyneApp.toml version
|
||||
run: |
|
||||
sed -i "s/Version = .*/Version = \"${{ needs.prepare.outputs.version }}\"/" FyneApp.toml
|
||||
@@ -280,62 +224,6 @@ jobs:
|
||||
- name: Verify dependencies
|
||||
run: go mod verify
|
||||
|
||||
- name: Download ECS binaries for embed
|
||||
shell: bash
|
||||
run: |
|
||||
REPO="oneclickvirt/ecs"
|
||||
BINARIES_DIR="embedding/binaries"
|
||||
TARGET_OS="${{ matrix.platform }}"
|
||||
TARGET_ARCH="${{ matrix.arch }}"
|
||||
|
||||
mkdir -p "$BINARIES_DIR"
|
||||
|
||||
# 使用 gh CLI 获取最新版本(更简单可靠)
|
||||
echo "获取最新版本信息..."
|
||||
ECS_VERSION=$(gh release view --repo "$REPO" --json tagName --jq '.tagName')
|
||||
|
||||
if [ -z "$ECS_VERSION" ]; then
|
||||
echo "错误: 无法获取最新版本"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "ECS 版本: $ECS_VERSION"
|
||||
echo "目标平台: $TARGET_OS/$TARGET_ARCH"
|
||||
|
||||
# Windows 需要 .exe 后缀
|
||||
if [ "$TARGET_OS" == "windows" ]; then
|
||||
OUTPUT_FILE="${BINARIES_DIR}/goecs-${TARGET_OS}-${TARGET_ARCH}.exe"
|
||||
else
|
||||
OUTPUT_FILE="${BINARIES_DIR}/goecs-${TARGET_OS}-${TARGET_ARCH}"
|
||||
fi
|
||||
|
||||
PATTERN="goecs_${TARGET_OS}_${TARGET_ARCH}.zip"
|
||||
|
||||
echo "下载 ${TARGET_OS}/${TARGET_ARCH}..."
|
||||
echo "Pattern: $PATTERN"
|
||||
echo "Output: $OUTPUT_FILE"
|
||||
|
||||
# 下载到临时文件
|
||||
gh release download "$ECS_VERSION" --repo "$REPO" --pattern "$PATTERN" --output "/tmp/goecs.zip"
|
||||
unzip -q -o "/tmp/goecs.zip" -d /tmp/
|
||||
|
||||
if [ -f "/tmp/goecs.exe" ]; then
|
||||
mv /tmp/goecs.exe "$OUTPUT_FILE"
|
||||
elif [ -f "/tmp/goecs" ]; then
|
||||
mv /tmp/goecs "$OUTPUT_FILE"
|
||||
chmod +x "$OUTPUT_FILE"
|
||||
else
|
||||
echo "错误: 找不到解压后的二进制文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "二进制文件列表:"
|
||||
ls -lh "${BINARIES_DIR}/"
|
||||
echo ""
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Update FyneApp.toml version
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user