我正在使用以下线圈实现来加载 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,我已经将它们包含在我的中。
如果我在这里遗漏了什么,请告诉我...