繁体   English   中英

Android Glide库NoClassDefFoundError

[英]Android Glide library NoClassDefFoundError

我是否错误地使用了Glide库? 可能是什么问题呢?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ImageView iv = (ImageView) findViewById(R.id.imageView1);

    Glide.with(this).load(R.drawable.salads_caesar_salad).into(iv);
}

在此处输入图片说明

如果您的代码可以正常编译,则很可能您对编译类路径具有正确的依赖关系。 如果您使用Android Studio / Gradle,则ProGuard可能出于某种原因以某种方式剥离Glide类,但实际上不应该这样做,因为您实际上正在使用它。

上述矛盾以及您的LogCat屏幕截图是Eclipse ADT还是Android Device Monitor( monitor.bat )的事实,留下了一个选择: 您没有导出依赖项 请尝试以下操作(请参阅链接手册中的屏幕截图):

  1. 右键单击“ Android应用程序项目”
  2. 属性
  3. Java构建路径
  4. 订购和出口
  5. 确保已选中glide.jar

另外,也可以考虑在Android Studio(用于Android开发的官方Google产品)或IntelliJ IDEA 14+中重新创建您的项目,然后复制您的源代码; 与Eclipse ADT相比,IntelliJ Android插件对Android和现代构建工具的支持要好得多。 我本人确实反对这种过渡,但是正如您所看到的那样,因为现在我正在倡导这种过渡。 从长远来看,这需要一两天的时间。

您需要将Glide库添加到您的android项目中。

如果您使用gradle:

dependencies {
    compile 'com.github.bumptech.glide:glide:3.6.0'
    compile 'com.android.support:support-v4:19.1.0'
}

如果您使用的是maven:

<dependency>
  <groupId>com.github.bumptech.glide</groupId>
  <artifactId>glide</artifactId>
  <version>3.6.0</version>
  <type>aar</type>
</dependency>
<dependency>
  <groupId>com.google.android</groupId>
  <artifactId>support-v4</artifactId>
  <version>r7</version>
</dependency>

您还可以在Eclipse中将库直接添加到项目中:右键单击项目的属性,然后单击“库”部分,然后单击“添加”以添加库。

如果您使用的是Android Studiohttp//www.truiton.com/2015/02/android-studio-add-library-project/

您似乎错误地导入了滑动库-

NoClassDefFoundError的结果是android构建找不到滑行库。

在android studio中,您可以通过将滑动库添加到依赖项中,将其添加到“项目结构”中。 在这里查看一般策略

我认为您只能加载URL,并且只能根据它们的文档在.error()和.placeholder()方法中使用Resources。 https://github.com/bumptech/glide

当可以像这样直接在imageview中设置资源时,为什么还要使用glide:

iv.setImageResource(R.drawable.salads_caesar_salad);

希望对您有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM