DylanCaiCoding / ViewBindingKTX

The most comprehensive utils of ViewBinding. (最全面的 ViewBinding 工具,支持 Kotlin 和 Java 用法,支持 BRVAH,支持封装到基类,支持 DataBinding,支持选择是否使用反射)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

不同路径名使用出现(library下使用)

wzg-githome opened this issue · comments

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.vis.ls/com.wzg.watermarkCamera.CameraActivity}: java.lang.reflect.InvocationTargetException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2044)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7560)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.dylanc.viewbinding.base.ViewBindingUtil$inflateBindingWithGeneric$1.invoke(ViewBindingUtil.kt:36)
at com.dylanc.viewbinding.base.ViewBindingUtil$inflateBindingWithGeneric$1.invoke(ViewBindingUtil.kt:35)
at com.dylanc.viewbinding.base.ViewBindingUtil.withGenericBindingClass(ViewBindingUtil.kt:71)
at com.dylanc.viewbinding.base.ViewBindingUtil.inflateWithGeneric(ViewBindingUtil.kt:35)
at com.wzg.watermarkCamera.BindingActivity.onCreate(BindingActivity.java:24)
at com.wzg.watermarkCamera.CameraActivity.onCreate(CameraActivity.java:69)
at android.app.Activity.performCreate(Activity.java:7899)
at android.app.Activity.performCreate(Activity.java:7886)

InvocationTargetException

感谢反馈,请问不同路径名是指不同 library 有同名的布局吗?

是的,但是为了解决问题,后来我修改了

这个问题我之前做项目组件化的时候有遇到,有同名的 Binding 类可能会反射到别的模块下的同名 Binding 对象。目前没有解决思路,需要人为去避免布局名重名。

目前个人是在 build.gradle 增加下面的配置,编译器会提示资源要增加一个前缀,这样增加模块名前缀能规避一些重名问题。

android {
    resourcePrefix "user_"
}