Skip to content

Commit e937bf4

Browse files
committed
ex_so 的 armv7a 升级 ff n4.3
1 parent 95a1814 commit e937bf4

File tree

6 files changed

+232
-55
lines changed

6 files changed

+232
-55
lines changed

16kpatch/README.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
# 16kpatch 使用说明(arm64 生产 + x86_64 可构建
1+
# 16kpatch 使用说明(64位16K + 32位可构建
22

33
## 适用范围
44
- 基线项目:默认 `ijkplayer`
55
- 主机环境:Darwin arm64(Apple Silicon)
66
- NDK:`22.1.7171670`(r22)
77
- FFmpeg 依赖:`CarGuo/FFmpeg` tag `ijk-n4.3-20260301-007`
8-
- ABI 策略:`arm64-v8a` 生产 + `x86_64` 可构建
8+
- ABI 策略:
9+
- `arm64-v8a` / `x86_64`:16K page size
10+
- `armeabi-v7a`:可构建,4K page size
911

1012
## 补丁文件说明
1113
- `ndk_r22_16k_commit.patch`
12-
- 当前 `ijkplayer` 主仓改动快照(基于 `9ef1d2b2` 到当前工作树),覆盖构建脚本、16K 对齐、Stack Canary、init 固化、x86_64 构建支持、README 同步等。
14+
- 当前 `ijkplayer` 主仓改动快照(基于 `9ef1d2b2` 到当前工作树),覆盖构建脚本、64位16K分流、armv7a(r22)兼容、init 固化、README 同步等。
1315
- `ndk_r22_ffmpeg_n4.3_ijk.patch`
1416
- FFmpeg 侧补丁(`n4.3..ijk-n4.3-20260301-007`),包含 ijk 协议/demuxer 兼容、OpenSSL 探测兼容、导出头、async 注册崩溃修复。
1517
- `ndk_r22_soundtouch.patch`
@@ -61,20 +63,22 @@ cd android/contrib
6163
./compile-openssl.sh arm64
6264
./compile-ffmpeg.sh arm64
6365
./compile-ffmpeg.sh x86_64
66+
./compile-ffmpeg.sh armv7a
6467

6568
cd ..
6669
./compile-ijk.sh arm64
6770
./compile-ijk.sh x86_64
71+
./compile-ijk.sh armv7a
6872
```
6973

7074
## 验证建议
75+
- 64位 16K:
76+
- `arm64-v8a``x86_64``libijkffmpeg.so/libijksdl.so/libijkplayer.so``PT_LOAD Align``0x4000`
77+
- 32位 4K:
78+
- `armeabi-v7a``libijkffmpeg.so/libijksdl.so/libijkplayer.so``PT_LOAD Align``0x1000`
7179
- Stack Canary:`libijkffmpeg.so` 包含 `__stack_chk_fail@LIBC`
72-
- 16K Page Size:`arm64-v8a``libijkffmpeg.so/libijksdl.so/libijkplayer.so``PT_LOAD Align``0x4000`
73-
- x86_64 产物存在:
74-
- `android/ijkplayer/ijkplayer-x86_64/src/main/libs/x86_64/libijkffmpeg.so`
75-
- `android/ijkplayer/ijkplayer-x86_64/src/main/libs/x86_64/libijksdl.so`
76-
- `android/ijkplayer/ijkplayer-x86_64/src/main/libs/x86_64/libijkplayer.so`
7780

7881
## 注意事项
79-
- 生产发布仍建议仅使用 arm64-v8a。
82+
- 生产发布优先 `arm64-v8a`
83+
- `armeabi-v7a` 主要用于 32 位设备兼容;若目标机型存在 HEVC 软解崩溃风险,建议优先硬解或降低 armv7a 解码能力。
8084
- 若目标仓库已存在同名改动,`git apply --check` 可能失败;请先清理冲突或基于干净分支应用。

0 commit comments

Comments
 (0)