Skip to content

添加 Windows ARM64 FFmpeg runtime 支持#32

Open
NihilDigit wants to merge 1 commit into
open-ani:mainfrom
NihilDigit:pr/windows-arm64-ffmpeg-runtime
Open

添加 Windows ARM64 FFmpeg runtime 支持#32
NihilDigit wants to merge 1 commit into
open-ani:mainfrom
NihilDigit:pr/windows-arm64-ffmpeg-runtime

Conversation

@NihilDigit
Copy link
Copy Markdown

摘要

这个 PR 为 mediamp 增加 Windows ARM64 FFmpeg runtime artifact。

新增的 Windows ARM64 job 会使用 MSYS2 CLANGARM64 构建 FFmpeg,上传 mediamp-ffmpeg-runtime-windows-arm64 artifact,并接入 release workflow,使最终 Maven publication 包含 windows-arm64 runtime jar。

改动

  • 在 build / release workflow 中新增 windows-11-arm runner。
  • Windows ARM64 job 先安装 Microsoft JDK 17,再安装 JBR 21;JDK 17 供 buildSrc/toolchain 使用,JBR 21 保持现有 workflow 的默认运行时。
  • desktop runtime targets 增加 WindowsArm64
  • Windows FFmpeg target 按 host 架构选择:
    • WindowsX64 继续使用 UCRT64。
    • WindowsArm64 使用 CLANGARM64。
  • 为 Windows FFmpeg builds 增加 per-target MSYS2 package lists。
  • 构建并打包 Windows ARM64 JNI wrapper 和 FFmpeg DLLs。
  • clangarm64/bin 收集 Windows ARM64 runtime dependencies。
  • Windows DLL 依赖排序支持从 clangarm64/bin 查找 llvm-objdump.exe
  • release publish 聚合阶段下载并消费 mediamp-ffmpeg-runtime-windows-arm64

验证

已在 Windows ARM64 本机验证:

.\gradlew.bat :mediamp-ffmpeg:ffmpegBuildAll :mediamp-ffmpeg:ffmpegRuntimeJarWindowsArm64 `
  --no-configuration-cache `
  -Pani.android.abis=arm64-v8a `
  -Pmediamp.ffmpeg.buildvariant=windows

生成的 windows-arm64 runtime jar 包含:

  • ffmpegkitjni.dll
  • avcodec-62.dll
  • avformat-62.dll
  • avutil-60.dll
  • swresample-6.dll
  • swscale-9.dll
  • libcrypto-3-arm64.dll
  • libssl-3-arm64.dll
  • etc/ssl/cert.pem

也验证了:

kotlin .github\workflows\src.main.kts
git diff --check

说明

Windows ARM64 CI job 只构建并上传 FFmpeg runtime artifact。现有 Windows x64、Linux 和 macOS jobs 仍继续覆盖正常 Gradle checks。

Windows x64 保持使用 MSYS2 UCRT64。Windows ARM64 使用 MSYS2 CLANGARM64,因为这是 AArch64 Windows FFmpeg native build 可用的 MinGW/LLVM 环境。

src.main.kts 是 workflow 源文件,build.yml / release.yml 是生成结果;本 PR 同时提交生成后的 YAML。

@Him188 Him188 requested a review from StageGuard May 14, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants