- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我试图在 Eclipse(在 Windows Vista 上)中创建一个 Android 应用程序,但我无法让它找到我需要的 android.support.v7
库。我认为我的设置是正确的,我正在做的事情在一台计算机上有效,但在另一台计算机上根本不起作用,我需要帮助找出哪里出了问题。
在Eclipse中,我按照步骤创建了一个新的“Android应用程序项目”,并选择了API 11作为最低SDK,并完成了所有其他步骤。 (对于“在工作区中创建项目”,我取消选中它并要求在网络驱动器上的某个位置创建文件,以防万一。)这创建了另一个项目,appcompat_v7
,我现在了解事情是如何运作的。我建立了那个项目。但是当我尝试构建我的应用程序时,我无法克服 The import android.support.v7 could not be resolved
错误。
这是让我担心的症状:我右键单击应用程序项目并选择“属性”->“Android”。底部“库”在左侧(引用)列中有“C:\users\me\workspace\appcompat_v7”,在右侧(项目)列中有一个问号。 [这是工作区目录,而不是我保存文件的网络驱动器目录。] 路径名旁边还有一个红色的 X。我尝试选择“添加”,这会显示一个列表,其中包括自动添加的 appcompat_v7
项目。我选择了它,它被添加到带有绿色复选标记的列表中。然后我选择了另一个并将其删除。现在列表中只有一个 appcompat_v7
项目,带有绿色复选标记,右栏中的名称正确,因此一切看起来都正常。我单击确定(也尝试应用然后确定)。但是当我再次转到 Properties -> Android 时,红色的 X 又回来了,项目名称又是 ?
。所以它似乎无法再找到它几秒钟前能够找到的东西(?)。重新运行 Eclipse 没有帮助。 workspace\appcompat_v7
目录及其内容似乎正常显示在 dir
命令中,但如果缺少某些内容,我将不知道要查找什么。
关于尝试什么或检查什么有什么建议吗?
编辑: 通过试验,我发现了更多信息。显然取消选中“在工作区中创建项目”,然后选择网络驱动器是导致问题的原因。如果我从一个干净的工作区开始,取消选中“在工作区中创建项目”并在 C: 驱动器上选择一个目录,一切正常。如果我执行完全相同的操作但选择不同驱动器(例如网络驱动器或 USB 闪存驱动器)上的目录,问题就会出现。
最佳答案
经过更多研究,我得出结论,这是 Android Issue 16472 的症状,如果您在一个驱动器上有一个项目而在另一个驱动器上有一个库,那么事情就会失败。 ADT 插件在您设置新项目时自动创建 appcompat_v7
的新机制加剧了这个问题。如果工作区位于 C: 驱动器上,但您希望项目文件位于其他驱动器上,通过取消选中“在工作区中创建项目”,插件会将项目文件放在其他驱动器上,但会创建 appcompat_v7
在 C: 驱动器上,这会自动导致为 #16472 报告的问题。
最好在放置项目文件的同一驱动器上设置工作区(但我还没有测试过;无论如何,将它们放在不同的驱动器上对我来说没有问题,因为非 Android Java 项目)。但是,我找到了解决此问题的方法,方法是将 appcompat_v7
复制到另一个驱动器:
appcompat_v7
项目。appcompat_v7
从 C: 复制到另一个驱动器上的某个位置。appcompat_v7
项目。appcompat_v7
副本的位置,选择它,然后进行导入。我发现它调用了新项目android-support-v7-appcompat
,但是这样就OK了。我等待“Building Workspace”完成(如果您设置为不自动构建项目,您可能必须在新项目上使用 Build Project)。appcompat_v7
的路径)旁边有一个红色的 X。点击添加;应该会出现一个带有 android-support-v7-appcompat
的窗口;点击那个。它应该被添加到带有绿色复选标记的库列表中。现在选择 C: 驱动器上的路径名,然后单击删除,然后单击确定。我会再次点击“属性”进行仔细检查,以确保该库出现并且仍然有一个绿色的复选标记。执行此操作后,如果您的工作区设置为自动构建,这应该会成功构建您的应用程序。 (否则手动构建它。)
如果您稍后将另一个应用程序添加到同一工作区,则无需重复步骤 2、3 或 4。在向导创建您的项目和另一个新的 appcompat_v7
或 之后appcompat_v7_2
或其他东西,使用第 5 步添加您已经导入的 android-support-v7-appcompat
并删除旧库引用,然后删除重复的 appcompat_v7
它刚刚创建的。 (另见 Remove v7 appcompat folder。)
关于android - 无法让应用程序找到 android.support.v7,找不到 appcompat_v7 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23813772/
我是一名优秀的程序员,十分优秀!