无法获取应用程序找到android.support.v7,将找不到appcompat_v7项目

时间:2014-05-22 17:41:07

标签: android eclipse

我正在尝试在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闪存驱动器,问题就出现了。

2 个答案:

答案 0 :(得分:1)

经过更多的研究后,我得出结论,这是Android Issue 16472的症状,如果你在一个驱动器上有一个项目而另一个驱动器上有一个库,那么事情就会失败。在设置新项目时,ADT插件自动创建appcompat_v7的新机制会加剧问题。如果工作区位于C:驱动器上,但您希望项目文件位于其他驱动器上,则通过取消选中"在工作区中创建项目",插件会将项目文件放在另一个驱动器上,但创建{ {1}}在C:驱动器上,自动导致报告#16472的问题。

最好在放置项目文件的同一个驱动器上设置工作区(但我还没有对此进行过测试;无论如何,将它们安装在不同的驱动器上并没有这样做。对于非Android Java项目来说,这给我带来了麻烦。但是,通过将appcompat_v7复制到另一个驱动器,我找到了解决此问题的方法:

  1. 使用Android应用程序项目向导创建新应用程序,并让它在不同的驱动器上创建项目和新的appcompat_v7项目。
  2. 使用Windows资源管理器或其他方法,将新创建的appcompat_v7从C:复制到另一个驱动器上的某个位置。
  3. 在Eclipse中,删除appcompat_v7项目。
  4. 导入 - > Android - >现有的Android代码进入Workspace。浏览到您已复制appcompat_v7的位置,选择它并进行导入。我发现它调用了新项目appcompat_v7,但这没关系。我等着#34; Building Workspace"完成(如果你设置的不是自动构建项目,你可能必须在新项目中使用Build Project)。
  5. 右键单击您的应用程序项目,"属性"," Android"。 "图书馆" section可能会有一个路径名(C:驱动器上android-support-v7-appcompat的路径),并带有一个红色的X.点击添加;应显示appcompat_v7的窗口;点击它。应将其添加到带有绿色复选标记的库列表中。现在选择C:驱动器上的路径名,然后单击“删除”,然后单击“确定”。我点击"属性"进行仔细检查。再次,确保图书馆显示并仍然有绿色复选标记。
  6. 执行此操作后,如果您的工作区已设置为自动构建,则应成功构建应用程序。 (否则手动构建它。)

    如果您稍后将另一个应用程序添加到同一工作区,则不需要重复步骤2,3或4.向导创建项目后,另一个新android-support-v7-appcompat或{{1}或者某事,使用步骤5添加已经导入的appcompat_v7并删除旧的库引用,然后删除它刚刚创建的重复appcompat_v7_2。 (另见Remove v7 appcompat folder。)

答案 1 :(得分:0)

将库添加到您的应用程序项目中:

  • 在项目浏览器中,右键单击您的项目,然后选择属性
  • 在对话框左侧的类别面板中,选择 Android
  • 在“资源库”窗格中,点击添加按钮。
  • 选择图书馆计划,然后点击确定。例如,appcompat项目应列为 android-support-v7-appcompat
  • 在属性窗口中,单击确定

如果您打开android-support-v7-appcompat项目的Java Build Path对话框,它应该如下图所示。

java build path dialog in eclipse