在自定义GldieModule时,使用GlideModule提示过时了,
* @deprecated Libraries should use {@link LibraryGlideModule} and Applications should use * {@link AppGlideModule}.那我们就使用AppGlideModule,去网上搜一下怎么配置的 按照这个来配置
运行发现报了下面的错。注意:下面所有的xxx是为了屏蔽包名
Caused by: java.lang.RuntimeException: Expected instanceof GlideModule, but found: com.xxx.utils.MyGlideModule@e74f701 at com.bumptech.glide.module.ManifestParser.parseModule(ManifestParser.java:87) at com.bumptech.glide.module.ManifestParser.parse(ManifestParser.java:47) at com.bumptech.glide.Glide.initializeGlide(Glide.java:232) at com.bumptech.glide.Glide.initializeGlide(Glide.java:223) at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:184) at com.bumptech.glide.Glide.get(Glide.java:168) at com.bumptech.glide.Glide.getRetriever(Glide.java:689) at com.bumptech.glide.Glide.with(Glide.java:716) at com.xxxx.guide.WelcomeActivity.initView(WelcomeActivity.java:116) at com.xxxx.WelcomeActivity.onCreate(WelcomeActivity.java:102)去网上搜了一下,说开了混淆引起的,我这里没开混淆肯定不是这个原因。 不知道怎么想的,随便改了一下,把manifest中,GlideModule改成AppGlideModule就好了;
MyGlideModule继承AppGlideModule ,自然manifest中要用AppGlideModule,这样应该解释的通吧。哈哈
<meta-data android:name="com.xxx.utils.MyGlideModule" android:value="GlideModule"/>变成下面这样
<meta-data android:name="com.xx.utils.MyGlideModule" android:value="AppGlideModule"/>最后附上MyGlideModule代码
public class MyGlideModule extends AppGlideModule { @Override public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) { super.applyOptions(context, builder); //省略代码....... } @Override public boolean isManifestParsingEnabled() { return false; } }