我有一个Android库,其中包含我所有适用的源代码。然后我有两个引用该库的项目。一个用于“免费”版本,另一个用于我的应用程序的“付费”版本。
直到最近,两者都很好。我的操作系统驱动器崩溃并重新安装了我的操作系统。重新安装Eclipse并导入我的工作区后,我的'付费'不能像我的'免费'应用程序那样引用内置的“R”对象。
以下是项目布局的适用部分:
- Library
-- res
--- strings.xml
---- allow string
- PaidApp
-- res
--- layout
---- main.xml
- FreeApp
-- res
--- layout
---- main.xml
此外,付费应用和免费应用都会托管一个活动。在这两种情况下,此活动都会显示每个应用各自“主要”布局的内容。同一个活动从Library的strings.xml文件中读取字符串:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String someString = getString(R.string.allow);
...
}
对于免费应用程序,上面的工作很棒。但是,对于付费应用,main
的{{1}}部分未解析,R.layout.main
部分allow
答案 0 :(得分:2)
发现问题......
我从另一个区域复制/粘贴了一些代码,Eclipse在我的班级中添加了import android.R;
。该引用正在吹嘘对我的内部R
类的访问。
答案 1 :(得分:0)
确保付费应用项目仍然引用库项目(属性 - > Android)。如果是,请删除它,然后重新添加。然后在付费应用上进行清理。
我也遇到过这个问题......当我退出Eclipse时,似乎会发生这种情况,不知怎的,Android项目引用会被破坏。