fix:修复Android 平台上,exec.Command 无法执行从应用缓存目录提取的二进制文件的问题

This commit is contained in:
spiritlhl
2025-11-02 11:20:59 +08:00
parent e4df4b71ac
commit a7db4aca24
5 changed files with 334 additions and 11 deletions

View File

@@ -92,12 +92,9 @@ jobs:
- name: Verify dependencies
run: go mod verify
- name: Download ECS binaries for embed
- name: Download ECS binaries and prepare for Android
run: |
REPO="oneclickvirt/ecs"
BINARIES_DIR="embedding/binaries"
mkdir -p "$BINARIES_DIR"
# 使用 gh CLI 获取最新版本
echo "获取最新版本信息..."
@@ -110,24 +107,30 @@ jobs:
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 "${BINARIES_DIR}/goecs-linux-arm64"
chmod +x "${BINARIES_DIR}/goecs-linux-arm64"
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 "${BINARIES_DIR}/goecs-linux-amd64"
chmod +x "${BINARIES_DIR}/goecs-linux-amd64"
mv /tmp/goecs jniLibs/x86_64/libgoecs.so
chmod 755 jniLibs/x86_64/libgoecs.so
echo ""
echo "二进制文件列表:"
ls -lh "${BINARIES_DIR}/"
echo "jniLibs 文件列表:"
ls -lh jniLibs/*/libgoecs.so
echo ""
echo "文件大小:"
du -sh jniLibs/*/libgoecs.so
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}