我在我的应用程序中使用 zxing 库进行条码扫描。所以我已将 zxing 项目设置为库并将该库添加到我的项目中(属性 - > android - > 添加库)
在构建代码时添加库项目后,我看到在我的项目中创建了两个 R.java 文件。
一个在路径下:gen\com\google\zxing\client\android
另一个: gen\myproject
第一个包含库中的所有资源变量以及我项目中的资源变量。第二个只有我的项目中的资源变量。添加新布局或资源变量时,它会在两个文件中更新
所以我的疑问是: 1. 为什么有两个 R.java 文件 2. 有没有办法可以停止生成包含所有库项目变量的文件
由于这种行为,我遇到了非常难以调试的非常奇怪的问题。
在我的 zxing 库中,当我们尝试扫描条形码时,将设置一个布局“捕获”。每当我添加名称以字母“a”/“b”开头的任何布局或任何资源变量时,我的应用程序都会出现奇怪的行为。当我刚刚重命名布局时,一切都很完美。后来我发现它与 R.java 文件中“捕获”的 id 有关。当我定义一个以字母开头的布局时,它将在“捕获”之前插入到 R.java 列表中,因此捕获的 id 正在改变。(在我设置为库的实际 zxing 项目中还有另一个 R.java 文件。所以看起来我的 R.java 文件中捕获的 id 和 zxing 库 R.java 应该相同)
你能解释一下这里到底发生了什么吗