<p dir="auto">I am getting an Error by adding this <strong>library</strong> into my project<br>
The library:<code class="notranslate"> 'com.github.RahulJanagouda:StatusStories:1.0.1'</code><br>
<strong>The error log:</strong><br>
<code class="notranslate">2019-02-24 10:43:32.993 12294-12294/ E/AndroidRuntime: FATAL EXCEPTION: main Process: , PID: 12294 java.lang.AbstractMethodError: abstract method "void com.bumptech.glide.module.RegistersComponents.registerComponents(android.content.Context, com.bumptech.glide.Glide, com.bumptech.glide.Registry)" at com.bumptech.glide.Glide.initializeGlide(Glide.java:231) at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:172) at com.bumptech.glide.Glide.get(Glide.java:156) at com.bumptech.glide.Glide.getRetriever(Glide.java:535) at com.bumptech.glide.Glide.with(Glide.java:561) at .adapters.NewsFeedRecyclerViewAdapter.getPostImage(NewsFeedRecyclerViewAdapter.java:166) at .adapters.NewsFeedRecyclerViewAdapter.onBindViewHolder(NewsFeedRecyclerViewAdapter.java:69) at .adapters.NewsFeedRecyclerViewAdapter.onBindViewHolder(NewsFeedRecyclerViewAdapter.java:35) at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6673) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6714) at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5647) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5913) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232) at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:614) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3812)......</code><br>
<strong>The Gradle file of the StatusStrories Library:</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="dependencies {
implementation 'com.android.support:appcompat-v7:26.1.0'
// Glide v3 (stable)
implementation 'com.github.bumptech.glide:glide:3.9.0'
// OkHttp3
implementation 'com.github.bumptech.glide:okhttp3-integration:1.6.0-SNAPSHOT'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.7.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
    exclude group: 'com.android.support', module: 'support-annotations'
})}"><pre class="notranslate"><code class="notranslate">dependencies {
implementation 'com.android.support:appcompat-v7:26.1.0'
// Glide v3 (stable)
implementation 'com.github.bumptech.glide:glide:3.9.0'
// OkHttp3
implementation 'com.github.bumptech.glide:okhttp3-integration:1.6.0-SNAPSHOT'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.7.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
    exclude group: 'com.android.support', module: 'support-annotations'
})}
</code></pre></div>
<p dir="auto"><strong>My Gradle File:</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="//emoji disabler
implementation 'com.xw.repo:xedittext:2.1.0@aar'
//firebase
implementation 'com.google.firebase:firebase-storage:10.0.1'
implementation 'com.google.firebase:firebase-auth:10.0.1'
implementation 'com.google.firebase:firebase-database:10.0.1'

//android
implementation 'com.android.support:recyclerview-v7:26.+'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:appcompat-v7:26.+'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:27.1.1'

//circle image view
implementation 'de.hdodenhof:circleimageview:2.2.0'

//like button
implementation 'com.github.jd-alexander:LikeButton:0.2.3'

//image loader
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

//ExifInterface support
implementation &quot;com.android.support:exifinterface:26.+&quot;

//image picker
implementation 'com.github.nguyenhoanglam:ImagePicker:1.2.1'

//button
implementation 'com.beardedhen:androidbootstrap:2.3.2'

//image loader
//image scroll 7/8/2018
implementation 'com.github.Q42:AndroidScrollingImageView:1.3.3'
//dropdown list
implementation 'com.github.JayFang1993:DropDownMenu:v0.9'
//zoom
implementation 'com.ablanco.zoomy:zoomy:1.1.0'
//stories
implementation 'com.github.RahulJanagouda:StatusStories:1.0.1'

//glide
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'

// OkHttp3
implementation 'com.github.bumptech.glide:okhttp3-integration:1.6.0-SNAPSHOT'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.7.0'
"><pre class="notranslate"><code class="notranslate">//emoji disabler
implementation 'com.xw.repo:xedittext:2.1.0@aar'
//firebase
implementation 'com.google.firebase:firebase-storage:10.0.1'
implementation 'com.google.firebase:firebase-auth:10.0.1'
implementation 'com.google.firebase:firebase-database:10.0.1'

//android
implementation 'com.android.support:recyclerview-v7:26.+'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:appcompat-v7:26.+'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:27.1.1'

//circle image view
implementation 'de.hdodenhof:circleimageview:2.2.0'

//like button
implementation 'com.github.jd-alexander:LikeButton:0.2.3'

//image loader
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

//ExifInterface support
implementation "com.android.support:exifinterface:26.+"

//image picker
implementation 'com.github.nguyenhoanglam:ImagePicker:1.2.1'

//button
implementation 'com.beardedhen:androidbootstrap:2.3.2'

//image loader
//image scroll 7/8/2018
implementation 'com.github.Q42:AndroidScrollingImageView:1.3.3'
//dropdown list
implementation 'com.github.JayFang1993:DropDownMenu:v0.9'
//zoom
implementation 'com.ablanco.zoomy:zoomy:1.1.0'
//stories
implementation 'com.github.RahulJanagouda:StatusStories:1.0.1'

//glide
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'

// OkHttp3
implementation 'com.github.bumptech.glide:okhttp3-integration:1.6.0-SNAPSHOT'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.7.0'

</code></pre></div>
<p dir="auto"><strong>Glide Version</strong>: 4.6.1</p>

<p dir="auto"><strong>Integration libraries</strong>: okhttp3-integration</p>

<p dir="auto"><strong>Device/Android Version</strong>: Google Pixel 8.1</p>

<p dir="auto"><strong>Issue details / Repro steps / Use case background</strong>: The Glide v4 documentation <a href="https://bumptech.github.io/glide/doc/migrating.html#manifest-parsing" rel="nofollow">states</a> that</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="To ease the migration, manifest parsing and the older GlideModule interface are deprecated, but still supported in v4. AppGlideModules, LibraryGlideModules and the deprecated GlideModules can all coexist in an application."><pre class="notranslate"><code class="notranslate">To ease the migration, manifest parsing and the older GlideModule interface are deprecated, but still supported in v4. AppGlideModules, LibraryGlideModules and the deprecated GlideModules can all coexist in an application.
</code></pre></div>
<p dir="auto">However, <code class="notranslate">Glide.initializeGlide()</code> calls <code class="notranslate">RegistersComponents.registerComponents(Context, Glide, Registry)</code> which is different from the signature of <code class="notranslate">registerComponents()</code> in Glide v3. This causes a <code class="notranslate">java.lang.AbstractMethodError</code> when initializing Glide with dependencies that were built against Glide v3. This means that we are unable to update Glide to v4 until all our dependencies have updated.</p>

<p dir="auto"><strong>Glide load line / <code class="notranslate">GlideModule</code> (if any) / list Adapter code (if any)</strong>:</p>
<div class="highlight highlight-source-kotlin notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="@GlideModule
class GlideWrapper : AppGlideModule() {
    fun getImageLoader(context: Context): GlideImageLoader {
        return GlideImageLoader(GlideApp.with(context))
    }

    override fun applyOptions(context: Context, builder: GlideBuilder) {}

    override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
        registry.append(
            GlideUrl::class.java,
            InputStream::class.java,
            OkHttpUrlLoader.Factory(okHttpClient)
        )
    }"><pre class="notranslate">@GlideModule
<span class="pl-k">class</span> <span class="pl-en">GlideWrapper</span> : <span class="pl-en">AppGlideModule</span>() {
    <span class="pl-k">fun</span> <span class="pl-en">getImageLoader</span>(<span class="pl-smi">context</span><span class="pl-k">:</span> <span class="pl-en">Context</span>): <span class="pl-en">GlideImageLoader</span> {
        <span class="pl-k">return</span> <span class="pl-en">GlideImageLoader</span>(<span class="pl-en">GlideApp</span>.<span class="pl-c1">with</span>(context))
    }

    <span class="pl-k">override</span> <span class="pl-k">fun</span> <span class="pl-en">applyOptions</span>(<span class="pl-smi">context</span><span class="pl-k">:</span> <span class="pl-en">Context</span>, <span class="pl-smi">builder</span><span class="pl-k">:</span> <span class="pl-en">GlideBuilder</span>) {}

    <span class="pl-k">override</span> <span class="pl-k">fun</span> <span class="pl-en">registerComponents</span>(<span class="pl-smi">context</span><span class="pl-k">:</span> <span class="pl-en">Context</span>, <span class="pl-smi">glide</span><span class="pl-k">:</span> <span class="pl-en">Glide</span>, <span class="pl-smi">registry</span><span class="pl-k">:</span> <span class="pl-en">Registry</span>) {
        registry.append(
            <span class="pl-en">GlideUrl</span>::<span class="pl-c1">class</span>.java,
            <span class="pl-en">InputStream</span>::<span class="pl-c1">class</span>.java,
            <span class="pl-en">OkHttpUrlLoader</span>.<span class="pl-en">Factory</span>(okHttpClient)
        )
    }</pre></div>

<p dir="auto"><strong>Stack trace / LogCat</strong>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="java.lang.AbstractMethodError: abstract method &quot;void com.bumptech.glide.module.RegistersComponents.registerComponents(android.content.Context, com.bumptech.glide.Glide, com.bumptech.glide.Registry)&quot;
        at com.bumptech.glide.Glide.initializeGlide(Glide.java:266)
        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:747)"><pre class="notranslate"><code class="notranslate">java.lang.AbstractMethodError: abstract method "void com.bumptech.glide.module.RegistersComponents.registerComponents(android.content.Context, com.bumptech.glide.Glide, com.bumptech.glide.Registry)"
        at com.bumptech.glide.Glide.initializeGlide(Glide.java:266)
        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:747)
</code></pre></div>