【问题标题】:java.lang.IllegalArgumentException: Unable to find GlideModule implementationjava.lang.IllegalArgumentException:找不到 GlideModule 实现
【发布时间】:2019-03-24 21:58:47
【问题描述】:

我想在我的App中使用Glide4,我写了一些代码参考在线教程,但是出现了错误:

 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.zhiyun.mirror, PID: 7481
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zhiyun.mirror/com.zhiyun.mirror.mxg.activity.HappyMainActivity}: java.lang.IllegalArgumentException: Unable to find GlideModule implementation
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2666)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6121)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)
     Caused by: java.lang.IllegalArgumentException: Unable to find GlideModule implementation
        at com.bumptech.glide.module.ManifestParser.parseModule(ManifestParser.java:68)
        at com.bumptech.glide.module.ManifestParser.parse(ManifestParser.java:46)
        at com.bumptech.glide.Glide.initializeGlide(Glide.java:228)
        at com.bumptech.glide.Glide.initializeGlide(Glide.java:219)
        at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:180)
        at com.bumptech.glide.Glide.get(Glide.java:164)
        at com.bumptech.glide.Glide.getRetriever(Glide.java:670)
        at com.bumptech.glide.Glide.with(Glide.java:697)
        at com.zhiyun.mirror.mxg.util.DreamGoImageLoader.displayImage(DreamGoImageLoader.java:13)
        at com.zhiyun.mirror.mxg.util.DreamGoImageLoader.displayImage(DreamGoImageLoader.java:9)
        at com.youth.banner.Banner.setImageList(Banner.java:354)
        at com.youth.banner.Banner.start(Banner.java:262)
        at com.zhiyun.mirror.mxg.activity.HappyMainActivity.initBanner(HappyMainActivity.java:178)
        at com.zhiyun.mirror.mxg.activity.HappyMainActivity.onCreate(HappyMainActivity.java:128)
        at android.app.Activity.performCreate(Activity.java:6709)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2619)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6121) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) 
     Caused by: java.lang.ClassNotFoundException: com.newear.base.glide.MyGlideModule
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:400)
        at java.lang.Class.forName(Class.java:326)
        at com.bumptech.glide.module.ManifestParser.parseModule(ManifestParser.java:66)
        at com.bumptech.glide.module.ManifestParser.parse(ManifestParser.java:46) 
        at com.bumptech.glide.Glide.initializeGlide(Glide.java:228) 
        at com.bumptech.glide.Glide.initializeGlide(Glide.java:219) 
        at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:180) 
        at com.bumptech.glide.Glide.get(Glide.java:164) 
        at com.bumptech.glide.Glide.getRetriever(Glide.java:670) 
        at com.bumptech.glide.Glide.with(Glide.java:697) 
        at com.zhiyun.mirror.mxg.util.DreamGoImageLoader.displayImage(DreamGoImageLoader.java:13) 
        at com.zhiyun.mirror.mxg.util.DreamGoImageLoader.displayImage(DreamGoImageLoader.java:9) 
        at com.youth.banner.Banner.setImageList(Banner.java:354) 
        at com.youth.banner.Banner.start(Banner.java:262) 
        at com.zhiyun.mirror.mxg.activity.HappyMainActivity.initBanner(HappyMainActivity.java:178) 
        at com.zhiyun.mirror.mxg.activity.HappyMainActivity.onCreate(HappyMainActivity.java:128) 
        at android.app.Activity.performCreate(Activity.java:6709) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2619) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6121) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) 
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.newear.base.glide.MyGlideModule" on path: DexPathList[[zip file "/data/app/com.zhiyun.mirror-2/base.apk"],nativeLibraryDirectories=[/data/app/com.zhiyun.mirror-2/lib/arm, /data/app/com.zhiyun.mirror-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at java.lang.Class.classForName(Native Method) 
        at java.lang.Class.forName(Class.java:400) 
        at java.lang.Class.forName(Class.java:326) 
        at com.bumptech.glide.module.ManifestParser.parseModule(ManifestParser.java:66) 
        at com.bumptech.glide.module.ManifestParser.parse(ManifestParser.java:46) 
        at com.bumptech.glide.Glide.initializeGlide(Glide.java:228) 
        at com.bumptech.glide.Glide.initializeGlide(Glide.java:219) 
        at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:180) 
        at com.bumptech.glide.Glide.get(Glide.java:164) 
        at com.bumptech.glide.Glide.getRetriever(Glide.java:670) 
        at com.bumptech.glide.Glide.with(Glide.java:697) 
        at com.zhiyun.mirror.mxg.util.DreamGoImageLoader.displayImage(DreamGoImageLoader.java:13) 
        at com.zhiyun.mirror.mxg.util.DreamGoImageLoader.displayImage(DreamGoImageLoader.java:9) 
        at com.youth.banner.Banner.setImageList(Banner.java:354) 
        at com.youth.banner.Banner.start(Banner.java:262) 
        at com.zhiyun.mirror.mxg.activity.HappyMainActivity.initBanner(HappyMainActivity.java:178) 
        at com.zhiyun.mirror.mxg.activity.HappyMainActivity.onCreate(HappyMainActivity.java:128) 
        at android.app.Activity.performCreate(Activity.java:6709) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2619) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6121) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) 

在我的 build.gradle base 模块中:

dependencies {
    api `com.github.bumptech.glide:glide:4.5.0`
    annotationProcessor `com.github.bumptech.glide:compiler:4.5.0`
}

在我的 build.gradle 'app' 模块中:

dependencies {
    annotationProcessor `com.github.bumptech.glide:compiler:4.5.0`
}

我在app 模块中的代码:

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;

@GlideModule
public class MyGlideModule extends AppGlideModule {

}

用法:

public void displayImage(Context context, Object path, ImageView imageView) {

        GlideApp.with(context).load(path).into(imageView);
}

我不知道为什么会这样,我已经尝试了多种变体,但似乎都不起作用。有什么想法吗?

【问题讨论】:

  • 您是否在应用程序中使用风味?
  • 您是否覆盖了 ApplyOptions 和 RegisterComponents?
  • 您是否缺少 glide 模块的清单条目?
  • 在你的应用依赖中写下这些:implementation ‘com.github.bumptech.glide:glide:4.5.0’ annotationProcessor ‘com.github.bumptech.glide:compiler:4.5.0’ 并尝试。

标签: android android-glide


【解决方案1】:

我在升级 android studio 时遇到同样的问题,所以对我来说,我使用 gradle 4.4,而对于 gradle 插件我使用 3.1.4

 @GlideModule
   class GlideModule : AppGlideModule() {
   }

在你的 build.gradle 中添加这个

  implementation 'com.github.bumptech.glide:glide:4.8.0'
  kapt 'com.github.bumptech.glide:compiler:4.8.0'

kotlin 中的 kapt 就像 Java 中的 annotationProcessor 一样,会自动生成 GLIDE 模块

【讨论】:

  • 感谢您的回答,但这对我不起作用。我重置了我的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 2020-08-25
  • 2018-09-29
  • 1970-01-01
  • 2020-10-27
  • 2019-06-25
相关资源
最近更新 更多