无法让Android支持V7 CardView库工作

时间:2014-11-09 08:01:05

标签: android android-cardview

我正在使用带有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

我没有将m2存储库与aar文件一起使用,但我在位置使用了cardview

sdk/extras/android/support/v7

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

中的res文件
 sdk/extras/android/support/v7/cardview/res 

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

5 个答案:

答案 0 :(得分:14)

我将build {gra}的依赖项添加compile 'com.android.support:cardview-v7:23.2.1'以使用CardView时遇到了完全相同的问题,但是在清理项目后(Build> Clean Project),一切都像魔法一样。

答案 1 :(得分:2)

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

  • 点击您的项目,
  • 右键单击 - >打开模块设置(f4)
  • 从\ sdk \ extras \ android \ support \ v7 \
  • 导入cardview
  • 将.jar文件添加到cardview模块
  • 点击您的项目并将模块依赖性提供给cardview
  • 现在,点击cardview上的(+)按钮 - > android - >在顶部,您将看到一个复选框(库模块),启用它。
  • 单击“确定”并关闭设置对话框。
  • 重建项目并运行它。

答案 2 :(得分:0)

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

  1. CardView的项目位于Android SDK文件夹中:Android \ android-sdk \ extras \ android \ support \ v7 \ cardview
  2. 在Eclipse中使用“导入”并选择“现有Android代码进入工作区”并导入CardView项目
  3. 转到新项目的Properties-> Android,将其标记为库项目,然后将其链接为您自己项目中无法找到CardView的库项目
  4. 应该这样做

答案 3 :(得分:0)

我没有真正弄清楚错误,但我只是在库的源代码中注释掉了使用Android 5.0的东西,它运行正常。我不想使用Android 5.0的minSdk。

答案 4 :(得分:0)

如果您使用的是 Android Studio ,那么请更快速地添加编译'com.android.support:cardview-v7:21。+'。 .gradle。

dependencies {
   compile 'com.android.support:cardview-v7:21.+'
}