Glide介绍未完持续更新中

编译报错android java.nio.charset.MalformedInputException: Input length = 1

Glide4.6.1新版本配置, GlideApp 无法生成的问题的解决,配置是有要求的,低版本会出问题,无法编译报错,具体解决办法如下

依赖配置如下

Glide 4.6.1的sdk build版本必须为>=27,必须保证所有的support 的版本为相同并且为27.1.0

compile 'com.github.bumptech.glide:glide:4.6.1'

annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'

compile 'com.android.support:support-annotations:27.1.0'

compile 'com.android.support:appcompat-v7:27.1.0'

在Application或者module模块中添加如下代码

这个地方需要注意的是@GlideModule这个注解不能少,添加完代码后clean->rebuild即可看到如下代码:

app/build/generated/source/apt/debug/com/leo/GlideApp.java

packagecom.leo.app;

importandroid.content.Context;

importandroid.support.annotation.NonNull;

importcom.bumptech.glide.Glide;

importcom.bumptech.glide.GlideBuilder;

importcom.bumptech.glide.Registry;

importcom.bumptech.glide.annotation.GlideModule;

importcom.bumptech.glide.module.AppGlideModule;

@GlideModule

publicfinalclassGlobalGlideConfig extendsAppGlideModule {

  @Override

  publicbooleanisManifestParsingEnabled() {

//    return super.isManifestParsingEnabled();

    returnfalse;

  }

  @Override

  publicvoidapplyOptions(@NonNullContext context, @NonNullGlideBuilder builder) {

    super.applyOptions(context, builder);

  }

  @Override

  publicvoidregisterComponents(@NonNullContext context, @NonNullGlide glide, @NonNullRegistry registry) {

    super.registerComponents(context, glide, registry);

  }

}

如果项目中有多个module,那么应该放到sdk的module来生成代码,这样其他模块依赖sdk模块后就可以使用GlideApp了。

猜你喜欢

转载自blog.csdn.net/krcm110/article/details/82962695