Kotlin專案中 GlideApp 構建失敗經驗總結

weixin_33806914發表於2018-10-18

最近使用kotlin 來重構專案,然後慢慢去踩坑...

首先要確認app 的 build.gradle 是否依賴

    //這是依賴
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    //這是使用專案內建okhttp 依賴
    implementation 'com.github.bumptech.glide:okhttp3-integration:4.8.0'
    // 一般是使用 annotationProcessor 但這裡是kapt
    kapt 'com.github.bumptech.glide:compiler:4.8.0'

除此之外,還需要在外面新增

apply plugin: 'kotlin-kapt'

//下面看情況新增,一般不用,新增上面的apply 就可以了
kapt {
    generateStubs = true
}

然後新建一個kt 類

@GlideModule   //必須新增註釋,然後繼承下面的 AppGlideModule 
class 你的類名 : AppGlideModule() {
    override fun applyOptions(context: Context, builder: GlideBuilder) {
      //這裡自己搞 
      .....
    }
}

一般這樣rebuild 一下,就會生成GlideApp 了,可以用了

可是,可是,如果還不行,檢查一下自己是不是 搞了 DexGuard

需要混淆嗎

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}

## for DexGuard only
-keepresourcexmlelements manifest/application/meta-data@value=GlideModule

rebuild一下,反正我的GlideApp 出來了

參考:
CSDN
https://blog.csdn.net/laomianhao/article/details/80091031?utm_source=blogxgwz0
stackoverflow
https://stackoverflow.com/questions/48707410/unresolved-reference-glideapp-in-activity-written-in-koltin
Glide
https://muyangmin.github.io/glide-docs-cn/doc/download-setup.html

相關文章