-
使用如上方法,只适合cocos2d-x等有源码的引擎,如果使用unity3d没有源码的引擎,不能修改引擎底部函数,上面的方法就不适用了.
-
针对闭源unity3d等引擎(cocos2d-x引擎也适用),使用如下方法:
-
使用dtrace 命令,该命令可以跟踪程序的所有系统调用。
#!/usr/sbin/dtrace -s
#pragmaD option quiet
pid$target::open*:entry
{
printf("Opened:%s\n",copyinstr(arg0));
}
-
以上脚本保存为open.t,
-
执行./open.t -p 13891 | egrep ".pg|.plist|.mp3” (13891即为在模拟器中游戏程序的pid号)
-
即可获取游戏读取的所有资源,编写脚本把不在记录中的资源删除。部分记录截图如下
在mac系统执行,windows系统应该也有类似api,未查证