【问题标题】:Error: "The following classes could not be found: - android.support.v7.widget.GridLayout" after upgrading Android SDK Tools错误:升级 Android SDK 工具后“找不到以下类:- android.support.v7.widget.GridLayout”
【发布时间】:2013-07-02 16:15:25
【问题描述】:

一个应用已经使用 android.support.v7.widget.GridLayout 一段时间了,没有任何问题。我今天早上将 Android SDK Tools 升级到了 22.0.1。现在,该应用程序似乎无法再看到该库了。 Java代码有如下错误:

The import android.support.v7.widget cannot be resolved

我试图通过将 GridLayou 拖放到虚拟布局文件中来将 GridLayout 添加到虚拟布局文件中,我认为这将有助于正确配置项目以使用 GridLayout。但是,这会产生以下错误:

The following classes could not be found:
- android.support.v7.widget.GridLayout

我已经多次重启 Eclipse 并清理了所有项目。 Gridlayout_v7.jar在Android Dependencies下,路径正确。

如何修复项目的配置,使android.support.v7.widget.GridLayout可以使用?

计算机操作系统:Windows 8 专业版

CPU:英特尔 i5

Eclipse(版本:Juno Service Release 2):内部版本 ID:20121004-1855

【问题讨论】:

  • 您运行的是哪种 Eclipse?我曾经为我的 Android Dev 运行 Indigo。不过,我快速查看了他们的下载页面,看起来他们已经进行了一些重组。 Eclipse Standard 看起来就像您现在想要的一样。
  • @UPGRAYEDD,很抱歉忘记写我的计算环境。我刚刚添加了它。

标签: java android grid-layout


【解决方案1】:

显然,您的项目中没有包含 GridLayout 的 Android 库项目,可能是因为旧的引用现已损坏。

【讨论】:

  • 错误来自项目的java文件和布局xml文件,而不是项目引用的库。
  • @Hong:GridLayout 来自一个 Android 库项目,正如您在最初设置项目时了解到的那样。因此,您的 Java 文件和布局 XML 要求您的项目具有对该 Android 库项目的引用。如果该库项目引用由于您的升级而损坏,您将需要修复它(例如,重新导入库项目)。
  • 对不起,如果我理解这个有点慢。我的理解来自一个补充包。在 Java Build Path 窗口的 Libraries 选项卡中,Android Dependencies 下有两个 jar 文件: 1. androidlibrary.jar 和 gridlayout_v7.jar。它们不可编辑。我不知道如何修复它们。我很想删除 gridlayout_v7.jar,然后将其添加回来,但它是只读的。很早之前就加了GridLayout,一直到今天早上升级SDK都可以正常使用。
  • @Hong:Android 库项目与 Java 构建路径窗口的“库”选项卡没有直接关系。您可以通过 Project > Properties > Android 查看附加的库项目。您可以在 developer.android.com/tools/projects/… 阅读有关附加 Android 库项目的更多信息
  • 好的。感谢您的提示,我找到了原因。现在,添加 GridLayout 的过程又回到了我的记忆中。如果我没记错的话,当我添加 android.support.v7.widget.GridLayout 时,一个项目 gridlayout_v7 被自动添加到我的工作区(听起来不错),并且其他配置更改是自动完成的(可能包括在 Android Dependencies 中添加一个条目)。如果我没记错的话,我真的什么都没做。我不记得项目 gridlayout_v7 已添加到库中。无论如何,我刚刚添加到库中,现在一切都很好。
【解决方案2】:

像这样编辑您的项目(以及库项目)的 .classpath 文件:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

【讨论】:

    【解决方案3】:

    它可能更新了您的默认支持 v4 库,现在您的 projetc/lib 文件夹中的 on 可能与 v7 中的版本不同。

    删除项目/lib 文件夹中的 support v4 jar 文件。

    您可以在那里拥有它并使用支持 v7 库,但 v7 已经有一个 v4 库并且它们必须具有相同的版本才能工作。

    删除 lib 文件夹中的 v4 jar 文件,然后添加 v7。

    【讨论】:

      【解决方案4】:

      重要变化

      自 API 25.0.0 起已将其删除:

      您应该将android.support.v7.widget.Space 替换为android.support.v4.widget.Space


      here

      android.support.v7.widget.Space 已被移除。用法应该是 替换为 android.support.v4.widget.Space。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-02
        • 2016-02-17
        相关资源
        最近更新 更多