1

我正在使用以下线圈实现来加载 svg 图像

// in gradle build
implementation 'io.coil-kt:coil-svg:1.4.0'

具有将 svg 加载为的扩展功能

fun ImageView.loadUrl(url: String) {

val imageLoader = ImageLoader.Builder(this.context)
    .componentRegistry { add(SvgDecoder(this@loadUrl.context)) }
    .build()

val request = ImageRequest.Builder(this.context)
    .crossfade(true)
    .crossfade(500)
    .data(url)
    .target(this)
    .build()

imageLoader.enqueue(request)
}

在协程范围内加载图像为

  account.addressQrcode?.let { qrCodeAddress ->

        img_qrCode.loadUrl(qrCodeAddress)
        qrItemLoader.isVisible = false
 }

在关闭 proguard 的情况下完美工作,但是在打开我的 proguard 之后

 buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    debug {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

线圈无法加载图像,我已经阅读了他们说他们不需要任何明确的保护规则的文档。他们需要协程,okhttp 和 okio,我已经将它们包含在我的中。

如果我在这里遗漏了什么,请告诉我...

4

0 回答 0