在我的Android库项目中,我遇到了资源问题。库项目由它已经编译在JAR中的.class文件中的源代码和res文件夹中的资源组成。这些类是用--non-constant-id AAPT选项编译的。
在我的图书馆项目中:
res/drawable/image1.png
res/drawable/image3.png在依赖于库项目的项目中,我有:
res/drawable/image2.pngEclipse为每个项目创建一个R.txt和R.java。总共有两个R.txt和两个R.java。
在库项目的R.java中,资源ID是这样的:
image1=0x7f02007c;
image3=0x7f02007d;库项目意味着此R.java文件将与依赖项目的R.java合并,生成一个最终R.java,如下所示:
image1=0x7f02007c;
image2=0x7f02007d;
image3=0x7f02007e;正如预期的那样,image2的加入使最终的R.java中的内存位置减少了1。
The problem:当我从库项目中的JAR引用资源(如R.drawable.image3 )时,它将解析为非合并R.java中的ID。例如:R.drawable.image3 = 0x7f02007d。但是0x7f02007d实际上指向了image2,因此返回了错误的资源。我想我做错了什么。有人对这可能是什么有任何想法吗?
发布于 2013-08-20 18:44:19
我解决了问题。事实证明,库项目中的JAR被错误地构建了(特定于我的构建系统)。对于那些在搜索过程中遇到这个问题的人,很抱歉,这不会有多大帮助。
https://stackoverflow.com/questions/18325306
复制相似问题