Open hewuzhao opened 5 years ago
可以用observerForver试下
可以用observerForver试下
使用observerForver意义就不大了,这个需要手动移除的。
我也使用了LiveData,没发现这个问题
插件中的Activity或Fragment没有设置observer状态,可以手动添加
请问你们使用LiveData是配合的AndroidViewModel使用的吗? 或者有试过在Fragment中使用,然后由宿主使用插件的Fragment吗? 会出现这样的错误 java.lang.LinkageError: Class android.arch.lifecycle.HolderFragment method android.arch.lifecycle.ViewModelStore android.arch.lifecycle.HolderFragment.getViewModelStore() resolves differently in superclass android.support.v4.app.Fragment: Return types mismatch: java.lang.Class<android.arch.lifecycle.ViewModelStore,com.qihoo360.replugin.PluginDexClassLoader>(0x131eff00) vs java.lang.Class<android.arch.lifecycle.ViewModelStore,dalvik.system.PathClassLoader>(0x12e45600) (declaration of 'android.arch.lifecycle.HolderFragment' appears in /data/user/0/com.tcsl.caidan.host/app_p_a/-1958850779.jar) 我知道是因为compileOnly的方式让插件用了宿主的Fragment类型,而插件的LifeCycle层因此也解析到了宿主的Fragment类型 这个该怎么解决呢?
插件中的Activity或Fragment没有设置observer状态,可以手动添加
麻烦请教一下,具体点是什么方法呢?
该问题官方一直没解决啊。 目前解决方案是参考:https://github.com/Qihoo360/RePlugin/issues/610 在onStart中调用:getLifecycle().handleLifecycleEvent(Lifecycle.Event.ON_START);
问题详细描述 Detailed description of the problem
复现问题步骤 Steps to reproduce the problem
其它重要信息 Other important information
replugin-host-lib/gradle Version: rePlugin-plugin-lib/gradle Version:
Android API Version: Android 手机型号&ROM(Phone model & ROM):
Logcat上下文 Logcat context