# 21 工具链、依赖、原生兼容与许可证 听文视频工作台 · 技术架构与实现 · 1.0.2 ## 实际打包依赖 组件 | 固定配置/版本 | 用途 | Android Gradle Plugin | 8.9.3 | APK编译打包 | Gradle | 8.13 | 构建执行 | Java | 编译/目标17;保留Zulu17.0.14工具链 | 原生宿主编译 | Chaquopy | 17.0.0 | CPython和Python依赖打包 | Python | 3.11系列 | 业务运行时 | Flask | 3.1.2 | 本机服务与模板 | Pillow | 11.0.0 | 图像解码、加工、字体 | edge-tts | 7.2.3 | 在线TTS协议接入 | aiohttp | 3.10.10 | 异步网络依赖 | FFmpeg | 7.1.2 | 编码/探测 | x264 | 保留stable精确快照,API165 | 软件H.264编码 | NDK | 28.2.13676358 | 两种Android原生ABI构建 | CMake | 3.22.1(Pillow兼容库构建) | FreeType/JPEG构建 | 字体 | NotoSansCJKsc-Bold.otf | 中文大标题 | 一级pip依赖用精确版本pin,但未发现传递依赖的完整hash lock,不能声称整个Python依赖图在任意新环境字节完全可重现。旧docs/PC回归测试.md写aiohttp3.9.5已陈旧;当前app/build.gradle和实际release staging均为3.10.10。主机测试虚拟环境的依赖版本可能更高,不应拿来填APK依赖表。 ## 原生媒体构建 保留FFmpeg7.1.2与x264精确上游源归档及SHA256SUMS,不依赖会移动的stable分支重新取源码。NDK交叉编译默认API24、arm64-v8a/x86_64;ARM64使用NEON汇编,x86_64禁汇编以避NASM依赖。FFmpeg静态链接x264,Android libc/libm/libz等系统库动态链接。 构建启用GPL/libx264并用disable-everything配白名单:文件/pipe协议、concat/image2及必要音频/MP4解复用、PNG/JPEG/MP3/PCM/AAC/H.264解码、libx264/AAC编码、MP4/MOV封装、loop/tpad/fps/trim等滤镜。没有网络媒体解码protocol,也未启用Android硬件编码器;图片网络行为在Python执行。 ## 16KB兼容:两个不同层次 - ELF层:各原生对象的LOAD段以0x4000对齐。FFmpeg/FFprobe可执行程序另核对PIE及Android64位动态链接器interpreter;Pillow依赖共享库核对SONAME、ABI、导入/导出符号与版本节点,不能要求共享库也具备可执行入口。 - APK ZIP层:用zipalign的-P 16核对打包对齐;解包或zip对齐通过不能替代原生ELF和Python扩展的加载兼容。 FFmpeg/x264链接器传max-page-size/common-page-size=16384。Pillow原wheel部分FreeType/JPEG库较旧,项目保留对应API/SONAME的FreeType2.9.1与libjpeg-turbo1.5.3源码,NDK重建16KB兼容库,核对导出符号及Pillow所需符号。JPEG portable C关闭SIMD是兼容取舍,不能承诺性能等于原平台库。 Gradle跟踪native-compat输入,在installPythonRequirements任务完成后按ABI覆盖生成staging中的库;不手改pip生成目录后假装可重建。静态verify-binaries报告runtime_verified=false,说明不是设备加载测试。Android官方说明了含原生库应用的16KB适配背景:16KB页大小支持。 ## 许可证和对应源 本FFmpeg构建因启用libx264/GPL按GPLv2或更高版本分发,x264也有相应GPL许可;项目保存许可证、精确源归档、构建脚本与来源SHA。Pillow依赖保留FreeType FTL及GPL替代说明、JPEG相关notice;Noto字体附OFL文本。APK资源同步包含需要的许可说明。 本节陈述打包组件的许可与保留资料,不能将其误解为完整法律审定。分发原生组件时,应保留对应源、通知和构建说明给接收方;不应只交一个无对应资料的媒体可执行程序。 依据:build.gradle、app/build.gradle、gradle-wrapper.properties、native-sources/README.md、licenses/README.md、native-compat/README.md、scripts/build-media.sh、scripts/build-pillow-libs.sh。 --- 招商合作微信:wzqy2019。添加备注:听文合作。 原网页:https://tingwen-creator-studio-102.pages.dev/guide/technical-21