所以我刚开始学习用Android编程。一切都很好(顺便说一句,我使用Eclipse作为IDE)。我只有这个问题。每次我创建一个新项目时,我选择API 8作为最低要求SDK,并选择一个主题(例如Holo Light with Dark Action Bar),Eclipse将始终导入 NEW COPY Android支持库v7(appcompat)。我知道这是旧设备上的ActionBar和Fragments所必需的(API 7 - 10)。但是我没有得到的是为什么Eclipse必须一直导入支持库的新副本(我刚开始学习并且我认为支持库可以并且意味着编辑,我不确定)。
因此,我制定了自己的解决方案。我按照Android开发者网站上的说法here进行了操作。我自己将支持库导入Eclipse工作区。然后我创建了一个新项目。因此,Eclipse(再一次)导入了它自己的appcompat-v7支持库。我删除了它然后在我的项目的属性上,我用我之前添加的我自己导入的v7库替换了已删除的appcompat-v7库。
这可能是一个解决方案,但我遇到了一些问题
Eclipse在我手动导入的支持库中添加了一个新的 PROJECT_FOLDER / gen 包,结果(我不明白为什么),它创建了它自己的R.java文件(导致名称碰撞效果)。也就是说,当我在我的代码中提到这样的东西时,搜索到的R.java文件不是正确的R.java(但重复的R.java文件)
EditText editText =(EditText)findViewById(R.id.edit_message); //这显示错误,因为重复的R.java文件包含与项目R不同的字段.java文件有
另一件事是,当我创建一个新的Activity时,许多错误都会在Eclipse控制台上弹出,如
[2014-04-08 14:53:49 - MyFirstApp] C:\ Users \ ME \ Documents \ Android \ Android Workspace \ android-support-v7-appcompat \ res \ values \ attrs.xml: 572:错误:属性" textAllCaps"已定义
有没有正确的方法呢?或者真的需要导入支持库吗?谢谢。
答案 0 :(得分:5)
我在意外重建MainActivity时遇到了同样的问题。因此,它导入了对Appcompat库的新引用。
您会看到这些错误,因为对Appcompat库的引用存在重复引用。不要删除任何内容。
您必须做的第一件事是通过右键单击项目来删除重复的引用,或者按 Alt + Enter 以显示项目属性窗口。然后单击Android选项卡并转到Library。
在引用的库列表中,您可能会看到对Appcompat库的多个引用。选择一个并单击删除,然后单击“应用”和“确定”。
然后,您可以使用不需要的MainActivity活动,其布局和菜单XML文件。但一定要格外小心。
我希望这会有所帮助。
答案 1 :(得分:-2)
右键单击项目,转到属性,转到android,然后删除所有应用