7

我正在使用带有 Ant 构建的 IntelliJ/Android Studio(目前不是 Gradle),并且正在尝试使用 android-support-v7-cardview.jar 但我继续得到

android.view.InflateException: Binary XML file line #19: Error inflating class android.support.v7.widget.CardView
java.lang.NoClassDefFoundError: android.support.v7.cardview.R$styleable

我没有将 m2repository 与 aar 文件一起使用,而是在 location 使用 cardview

sdk/extras/android/support/v7

我已经通过在我自己的项目中使用 jar 中的类来让它工作,但它需要我还不想使用的 API 21 (5.0)。我正在尝试使用 libs 文件夹中的 jar 文件和来自的 res 文件

 sdk/extras/android/support/v7/cardview/res 

我已将 lib 文件和 res 文件添加到我自己的项目中,但仍然收到上面的错误消息。我应该怎么办?

4

5 回答 5

14

compile 'com.android.support:cardview-v7:23.2.1'在添加到 build.gradle 的依赖项以使用 CardView后,我遇到了完全相同的问题,但是在清理项目(构建>清理项目)之后,一切都像魔术一样工作。

于 2016-03-24T10:37:43.463 回答
2

嗨,这可能会有所帮助,这对我有用。(对于 intellij 用户)

  • 点击你的项目,
  • 右键单击-> 打开模块设置 (f4)
  • 从 \sdk\extras\android\support\v7\ 导入 cardview
  • 将 .jar 文件添加到 cardview 模块
  • 单击您的项目并将模块依赖项赋予cardview
  • 现在,单击cardview -> android -> 顶部的(+)按钮,您将看到一个复选框(库模块),启用它。
  • 单击确定并关闭您的设置对话框。
  • 重建您的项目并运行它。
于 2015-02-03T12:25:12.367 回答
0

如果您使用的是Android Studio,那么它更快更容易,请在 build.gradle 的依赖项中添加compile 'com.android.support:cardview-v7:21.+'

dependencies {
   compile 'com.android.support:cardview-v7:21.+'
}
于 2015-04-30T19:35:10.480 回答
0

我并没有真正找出错误,但我只是在库的源代码中注释掉了使用 Android 5.0 的东西,它工作正常。我不想使用 Android 5.0 的 minSdk。

于 2014-12-02T21:08:44.367 回答
0

我认为您必须将其作为 Android 库项目导入,然后才能正确找到资源。我还尝试首先只导入不起作用的 jar,所以我这样做了:

  1. CardView 的项目位于您的 Android SDK 文件夹中:Android\android-sdk\extras\android\support\v7\cardview
  2. 在 Eclipse 中使用“Import”并选择“Existing Android Code Into Workspace”并导入 CardView 项目
  3. 进入新项目的Properties->Android,将其标记为库项目,然后将其链接为库项目在您自己的项目中找不到CardView

应该这样做

于 2014-11-24T07:59:07.580 回答