![](/img/trans.png)
[英]Android, Glide Image Loading Library: NullPointerException, ProviderInfo
[英]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
)的事实,留下了一个选择: 您没有导出依赖项 ; 请尝试以下操作(请参阅链接手册中的屏幕截图):
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 Studio
: http : //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.