如何解决NoSuchMethodException: com.x.y.z.j.h1.inflate [class android.view.LayoutInflater] - 视图绑定扩展
inline fun <reified T : ViewBinding> Activity.viewBinding() = ActivityViewBindingDelegate(T::class.java)
class ActivityViewBindingDelegate<T : ViewBinding>(private val bindingClass: Class<T>) : ReadOnlyProperty<Activity,T> {
/**
* initiate variable for binding view
*/
private var binding: T? = null
@Suppress("UNCHECKED_CAST")
override fun getValue(thisRef: Activity,property: KProperty<*>): T {
binding?.let { return it }
/**
* inflate View class
*/
val inflateMethod = bindingClass.getmethod("inflate",LayoutInflater::class.java)
/**
* Bind layout
*/
val invokeLayout = inflateMethod.invoke(null,thisRef.layoutInflater) as T
/**
* Set the content view
*/
thisRef.setContentView(invokeLayout.root)
return invokeLayout.also { this.binding = it }
}
}
当我在调试版本中运行我的应用程序时,一切正常。
当我在发布版本中运行我的应用程序时,在运行时启动活动时出现以下异常:
Caused by: java.lang.NoSuchMethodException: com.x.y.z.j.h1.inflate [class android.view.LayoutInflater]
isMinifyEnabled = true isShrinkResources = true
我必须混淆我的活动。如何解决这个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。