我理解任何给定命名空间中的所有资源(即com.test.android与com.test2.android)都将分配唯一的资源ID。现在,如果我在com.test2.android中调用com.test.android,我会发现两个不同的资源被分配了相同的资源ID,因此我的getResources()。openRawResrouce()获取了错误的文件。
所以我编译了一个jar文件,包括res / raw / test.zip作为我的SDK。然后我将这个sdk.jar包含在一个单独的项目中,并尝试通过访问此res / raw / test.zip 的getInstance()。的getContext()。getResources()。openRawResource(com.mycompany.android.R.raw.test)
然而它返回了错误的文件,即com.mycompany.res / drawble-hdpi / lc_launcher.png。然后我发现这是因为com.mycompany.android.R.raw.test(我的SDK中的res / raw文件)与com.example.resourcetest.R.raw.ic_launcher具有相同的ID
什么是合适的解决方案?
谢谢,
利