我正在尝试在Eclipse中创建一个Android应用程序(在Windows Vista上),我无法找到我需要的android.support.v7
库。我认为我正在正确地设置,我正在做什么在一台计算机上工作但在另一台计算机上根本不工作,我需要帮助找出出错的地方。
在Eclipse中,我按照步骤创建了一个新的“Android应用程序项目”,并选择了API 11作为最低SDK,并完成了所有其他步骤。 (对于“在工作区中创建项目”,我取消选中它并要求在网络驱动器上的某个位置创建文件,以防万一。)这创建了另一个项目appcompat_v7
,我理解的是事情现在有效。我建造了那个项目。但是当我尝试构建我的应用程序时,我无法通过The import android.support.v7 could not be resolved
错误。
这是我关注的症状:我右键单击了应用程序项目并选择了属性 - > Android系统。底部“Library”在左侧(参考)列中有“C:\ users \ me \ workspace \ appcompat_v7”,在右侧(Project)列中有一个问号。 [这是工作区目录,而不是我保存文件的网络驱动器目录。]路径名旁边还有一个红色的X.我尝试选择Add,它会显示一个包含自动添加的appcompat_v7
项目的列表。我选择了它,并将其添加到带有绿色复选标记的列表中。然后我选择了另一个并删除它。现在,该列表只有一个appcompat_v7
项目,带有绿色复选标记,右侧列中的名称正确,所以一切看起来都不错。我点击确定(也尝试了应用然后确定)。但是当我去了Properties - >再次使用Android,现在红色X又回来了,项目名称又是?
。所以似乎几秒钟之前能够找到的东西再也找不到了(?)。重新运行Eclipse并没有帮助。 workspace\appcompat_v7
目录及其内容似乎在dir
命令中正常显示,但如果缺少某些内容,我将不知道要查找的内容。
有关尝试什么或要检查什么的任何建议?
编辑:通过实验,我发现了更多信息。显然取消选中“在工作区中创建项目”,然后选择网络驱动器,是导致问题的原因。如果我从一个干净的工作区开始,取消选中“在工作区中创建项目”并在C:驱动器上选择一个目录,一切正常。如果我做同样的事情,但选择不同驱动器上的目录,如网络驱动器或USB闪存驱动器,问题就出现了。
答案 0 :(得分:1)
经过更多的研究后,我得出结论,这是Android Issue 16472的症状,如果你在一个驱动器上有一个项目而另一个驱动器上有一个库,那么事情就会失败。在设置新项目时,ADT插件自动创建appcompat_v7
的新机制会加剧问题。如果工作区位于C:驱动器上,但您希望项目文件位于其他驱动器上,则通过取消选中"在工作区中创建项目",插件会将项目文件放在另一个驱动器上,但创建{ {1}}在C:驱动器上,自动导致报告#16472的问题。
最好在放置项目文件的同一个驱动器上设置工作区(但我还没有对此进行过测试;无论如何,将它们安装在不同的驱动器上并没有这样做。对于非Android Java项目来说,这给我带来了麻烦。但是,通过将appcompat_v7
复制到另一个驱动器,我找到了解决此问题的方法:
appcompat_v7
项目。appcompat_v7
从C:复制到另一个驱动器上的某个位置。appcompat_v7
项目。appcompat_v7
的位置,选择它并进行导入。我发现它调用了新项目appcompat_v7
,但这没关系。我等着#34; Building Workspace"完成(如果你设置的不是自动构建项目,你可能必须在新项目中使用Build Project)。android-support-v7-appcompat
的路径),并带有一个红色的X.点击添加;应显示appcompat_v7
的窗口;点击它。应将其添加到带有绿色复选标记的库列表中。现在选择C:驱动器上的路径名,然后单击“删除”,然后单击“确定”。我点击"属性"进行仔细检查。再次,确保图书馆显示并仍然有绿色复选标记。执行此操作后,如果您的工作区已设置为自动构建,则应成功构建应用程序。 (否则手动构建它。)
如果您稍后将另一个应用程序添加到同一工作区,则不需要重复步骤2,3或4.向导创建项目后,另一个新android-support-v7-appcompat
或{{1}或者某事,使用步骤5添加已经导入的appcompat_v7
并删除旧的库引用,然后删除它刚刚创建的重复appcompat_v7_2
。 (另见Remove v7 appcompat folder。)
答案 1 :(得分:0)
将库添加到您的应用程序项目中:
如果您打开android-support-v7-appcompat
项目的Java Build Path对话框,它应该如下图所示。