Android的资源类型是很多的,比如说drawable,string,layout等,aapt在打包时,会将这些资源的名称,id和位置打包进一个resources.arsc包。
通过AndroidStudio可以查看resouces.arsc文件的内容。
AndResGuard大致上做的就是修改资源的名称和路径,修改为a b c这种简短的名称。
如果你的资源,存在使用插件化的方式加载的,即:使用名称去找id,再用id去加载资源,由于资源的名称已经修改过了,所以会无法找到id。这种情况不能混淆。框架中提供了添加白名单的方法。
但是三方sdk中隐藏的插件化方式有点防不胜防。官方提供了常见的 sdk白名单
我使用的是gradle集成的方式
你为何登录两个微信。其实主要区别不同的储存空间就可以了。比如程序文件,我需要储存在iCloud,那么就登录这个ID。又如音乐,视频我需要保存在iPhone里,那么就登录这个ID就可以了。怎么会混淆讷欢迎分享,转载请注明来源:内存溢出
评论列表(0条)