java - Android Glide 库 NoClassDefFoundError

标签 java android packaging android-glide

我是否错误地使用了 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);
}

enter image description here

最佳答案

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

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

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

或者考虑在 Android Studio(用于 Android 开发的 Google 官方产品)或 IntelliJ IDEA 14+ 中重新创建您的项目并复制您的源代码; IntelliJ Android 插件比 Eclipse ADT 对 Android 和现代构建工具有更好的支持。我本人确实反对这种转变,但正如你所看到的,它确实有效,因为现在我正在提倡它。从长远来看,一两天的努力是值得的。

关于java - Android Glide 库 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31397975/

相关文章:

java - 无法从非 Activity 类获得文本到语音的工作

java - jars和其他文件的Maven打包

python-3.x - 使用 pip 和 pipenv 构建和安装本地包

java - 销毁 Fixture 时出现 LibGDX Java fatal error

java - Apache Camel从ftp到数据库

java - outputStream.println() - 不打印到 .log 文件?我不明白为什么

java - Jboss-eap-6.3 无法为对象堆保留足够的空间

android - 使用多列更新 sqlite 数据库

android - 使用Firebase设置群聊的阅读状态

python - 将 python 库/应用程序打包为 .egg 文件有什么好处?