添加库项目时的android R.java行为

时间:2012-03-29 11:44:58

标签: android r.java-file

我在我的应用程序中使用zxing库进行条形码扫描。所以我将zxing项目设置为库并将该库添加到我的项目中(属性 - > android - >添加库)

在构建代码时添加库项目后,我发现在我的项目中创建了两个R.java文件。

一个是在路径下:gen \ com \ google \ zxing \ client \ android

和另一个:gen \ myproject

第一个包含库中的所有资源变量以及项目中的资源变量。第二个只有我的项目的资源变量。 添加新布局或资源变量时,它会在两个文件中更新

所以我的怀疑是: 1.为什么有两个R.java文件 2.有没有办法可以停止生成包含所有库项目变量的那个

由于这种行为,我遇到了很难调试的非常奇怪的问题。

在我的zxing库中,有一个布局“捕获”,当我们尝试扫描条形码时会设置它。每当我添加名称以字母“a”/“b”开头的任何布局或任何资源变量时,我的应用程序都会给出奇怪的行为。当我重新命名布局时,一切都很完美 后来我发现它与R.java文件中“capture”的id有关。 当我定义一个字母以a开头的布局时,它将被插入到“捕获”之前的R.java列表中,因此捕获的id正在改变。 (实际的zxing项目中还有另一个R.java文件,我将其设置为库。所以看起来像我的R.java文件中的捕获id和zxing库R.java应该是相同的)

你能解释一下这里发生了什么吗

1 个答案:

答案 0 :(得分:0)

我认为你包括完整的项目......

如果是,请删除它,并仅将此文件导入项目中:

http://code.google.com/p/zxing/source/browse/trunk#trunk%2Fandroid-integration%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fintegration%2Fandroid%253Fstate%253Dclosed

这就是你所需要的:)