======================================================================
R2 ELF 依赖静态验证 + 资源瘦身
======================================================================

本地库 69 个（含 soname 别名后共 69 个可解析名）
本地库导出符号总数: 4950

----------------------------------------------------------------------
[1] bin/r2 的 DT_NEEDED 解析
----------------------------------------------------------------------
bin/r2 SONAME=None  NEEDED=26  UND=9
   libm.so                  OK (系统)
   libdl.so                 OK (系统)
   libr_main.so             OK (本地)
   libr_io.so               OK (本地)
   libr_bp.so               OK (本地)
   libr_esil.so             OK (本地)
   libr_socket.so           OK (本地)
   libr_bin.so              OK (本地)
   libr_arch.so             OK (本地)
   libr_reg.so              OK (本地)
   libr_asm.so              OK (本地)
   libr_lang.so             OK (本地)
   libr_egg.so              OK (本地)
   libr_core.so             OK (本地)
   libr_anal.so             OK (本地)
   libr_muta.so             OK (本地)
   libr_flag.so             OK (本地)
   libr_fs.so               OK (本地)
   libr_magic.so            OK (本地)
   libr_syscall.so          OK (本地)
   libr_util.so             OK (本地)
   libr_cons.so             OK (本地)
   libr_debug.so            OK (本地)
   libr_search.so           OK (本地)
   libr_config.so           OK (本地)
   libc.so                  OK (系统)

----------------------------------------------------------------------
[2] bin/r2 的 UND 符号是否都有提供者
----------------------------------------------------------------------
无法在本地库或系统白名单中解析的 UND 符号: 0 个

----------------------------------------------------------------------
[3] 各 libr_*.so 的 DT_NEEDED 解析
----------------------------------------------------------------------
   libr_anal.so             soname=libr_anal.so           needed=11 OK
   libr_anal.so.6.2         soname=libr_anal.so           needed=11 OK
   libr_anal.so.6.2.2       soname=libr_anal.so           needed=11 OK
   libr_arch.so             soname=libr_arch.so           needed=6  OK
   libr_arch.so.6.2         soname=libr_arch.so           needed=6  OK
   libr_arch.so.6.2.2       soname=libr_arch.so           needed=6  OK
   libr_asm.so              soname=libr_asm.so            needed=10 OK
   libr_asm.so.6.2          soname=libr_asm.so            needed=10 OK
   libr_asm.so.6.2.2        soname=libr_asm.so            needed=10 OK
   libr_bin.so              soname=libr_bin.so            needed=10 OK
   libr_bin.so.6.2          soname=libr_bin.so            needed=10 OK
   libr_bin.so.6.2.2        soname=libr_bin.so            needed=10 OK
   libr_bp.so               soname=libr_bp.so             needed=3  OK
   libr_bp.so.6.2           soname=libr_bp.so             needed=3  OK
   libr_bp.so.6.2.2         soname=libr_bp.so             needed=3  OK
   libr_config.so           soname=libr_config.so         needed=3  OK
   libr_config.so.6.2       soname=libr_config.so         needed=3  OK
   libr_config.so.6.2.2     soname=libr_config.so         needed=3  OK
   libr_cons.so             soname=libr_cons.so           needed=3  OK
   libr_cons.so.6.2         soname=libr_cons.so           needed=3  OK
   libr_cons.so.6.2.2       soname=libr_cons.so           needed=3  OK
   libr_core.so             soname=libr_core.so           needed=24 OK
   libr_core.so.6.2         soname=libr_core.so           needed=24 OK
   libr_core.so.6.2.2       soname=libr_core.so           needed=24 OK
   libr_debug.so            soname=libr_debug.so          needed=17 OK
   libr_debug.so.6.2        soname=libr_debug.so          needed=17 OK
   libr_debug.so.6.2.2      soname=libr_debug.so          needed=17 OK
   libr_egg.so              soname=libr_egg.so            needed=13 OK
   libr_egg.so.6.2          soname=libr_egg.so            needed=13 OK
   libr_egg.so.6.2.2        soname=libr_egg.so            needed=13 OK
   libr_esil.so             soname=libr_esil.so           needed=5  OK
   libr_esil.so.6.2         soname=libr_esil.so           needed=5  OK
   libr_esil.so.6.2.2       soname=libr_esil.so           needed=5  OK
   libr_flag.so             soname=libr_flag.so           needed=3  OK
   libr_flag.so.6.2         soname=libr_flag.so           needed=3  OK
   libr_flag.so.6.2.2       soname=libr_flag.so           needed=3  OK
   libr_fs.so               soname=libr_fs.so             needed=7  OK
   libr_fs.so.6.2           soname=libr_fs.so             needed=7  OK
   libr_fs.so.6.2.2         soname=libr_fs.so             needed=7  OK
   libr_io.so               soname=libr_io.so             needed=6  OK
   libr_io.so.6.2           soname=libr_io.so             needed=6  OK
   libr_io.so.6.2.2         soname=libr_io.so             needed=6  OK
   libr_lang.so             soname=libr_lang.so           needed=15 OK
   libr_lang.so.6.2         soname=libr_lang.so           needed=15 OK
   libr_lang.so.6.2.2       soname=libr_lang.so           needed=15 OK
   libr_magic.so            soname=libr_magic.so          needed=3  OK
   libr_magic.so.6.2        soname=libr_magic.so          needed=3  OK
   libr_magic.so.6.2.2      soname=libr_magic.so          needed=3  OK
   libr_main.so             soname=libr_main.so           needed=24 OK
   libr_main.so.6.2         soname=libr_main.so           needed=24 OK
   libr_main.so.6.2.2       soname=libr_main.so           needed=24 OK
   libr_muta.so             soname=libr_muta.so           needed=4  OK
   libr_muta.so.6.2         soname=libr_muta.so           needed=4  OK
   libr_muta.so.6.2.2       soname=libr_muta.so           needed=4  OK
   libr_reg.so              soname=libr_reg.so            needed=4  OK
   libr_reg.so.6.2          soname=libr_reg.so            needed=4  OK
   libr_reg.so.6.2.2        soname=libr_reg.so            needed=4  OK
   libr_search.so           soname=libr_search.so         needed=4  OK
   libr_search.so.6.2       soname=libr_search.so         needed=4  OK
   libr_search.so.6.2.2     soname=libr_search.so         needed=4  OK
   libr_socket.so           soname=libr_socket.so         needed=3  OK
   libr_socket.so.6.2       soname=libr_socket.so         needed=3  OK
   libr_socket.so.6.2.2     soname=libr_socket.so         needed=3  OK
   libr_syscall.so          soname=libr_syscall.so        needed=3  OK
   libr_syscall.so.6.2      soname=libr_syscall.so        needed=3  OK
   libr_syscall.so.6.2.2    soname=libr_syscall.so        needed=3  OK
   libr_util.so             soname=libr_util.so           needed=3  OK
   libr_util.so.6.2         soname=libr_util.so           needed=3  OK
   libr_util.so.6.2.2       soname=libr_util.so           needed=3  OK

结论: 缺失库=0  无法解析符号=0  依赖不全的库=0

======================================================================
[4] 资源瘦身
======================================================================
验证通过，开始瘦身。
已移动 assets/r2/lib -> tools/backup_libs
已复制 23 个 stripped 库到 app/src/main/libs/arm64-v8a
合计 26.7 MB（原 lib 目录 142MB）
assets/r2 剩余 9.9 MB（bin + share）
