还是前一篇博客遗留下的问题,如果使用者直接拷贝资源过去用,那种情况是不是不能兼容呢?前同事做了一些兼容处理,就是把全部的 R.XX.YYY
打到另外一个文件中,然后通过
getResources().getIdentifier(name, defType, sPackageName)
去索引(PS:解开某联想游戏sdk,发现他们也是这样做的)。前一篇博客的遗留的问题就解决了。
我本来以为getIdentifier只会去找主包下的资源,所以绕过后,gradle/aar引用(不拷贝资源引用)的方式应该会报错。(但其实并没有,还是能索引得到。)反编译打出来的包,aar中的资源都在解压放到主包下面了。
那么,如果资源名称相同,怎么确定我索引到的是library中的,而不是主包中的?
或者深入点问,getIdentifier
这个如何做索引?
//TODO