Guideline 2.5.2 - Performance - Software Requirements

之前只打包iOS APP,没遇到这个错误,打包UNITY导出来的游戏项目,送审的时候就出现了这个问题
上网查了一下,就是热更的问题,关键命令

nm -n xxx.a >> xxx.txt

通过这个命令可以将方法名导入到TXT文件中,帮助查找到热更相关代码dlopen() dlsym(),一个一个查找太慢就写了个脚本

#!/bin/sh
echo "请输入需要检测的工程路径"
read path
if [ ${#path} = 0 ]
    then
        echo "请在.sh文件后面添加路径"
        exit
    fi
cd $path
echo "当前路径为`pwd`" 
#搜索目录下面的.a文件
for i in `find . -name *.a`; do
    # echo $i
    i_=${i##*/}
    # echo $i_
    i_=${i_%.a}
    # echo $i_
    nm -n $i >> "$i_.txt"
    grep 'dlopen' "$i_.txt" >/dev/null 2>&1 || grep 'dlsym' "$i_.txt" >/dev/null 2>&1
    if [[ $? == 0 ]]; then
        echo "$i_ 中有dlopen dlsym"
    fi
    rm $i_.txt
done
#搜索目录下面的framework
for i in `find *.framework/ */*.framework/  -size +100k`; do
    # echo $i
    i_=${i##*/}
    # echo $i_
    nm -n $i >> "$i_.txt"
    grep 'dlopen' "$i_.txt" >/dev/null 2>&1 || grep 'dlsym' "$i_.txt" >/dev/null 2>&1
    if [[ $? == 0 ]]; then
        echo "$i_ 中有dlopen dlsym"
    fi
    rm $i_.txt
done

你可能感兴趣的:(Guideline 2.5.2 - Performance - Software Requirements)