whataa / pandora

an android library for debugging what we care about directly in app.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Attempt to invoke virtual method 'android.view.Window android.app.Activity.getWindow()'

bravekingzhang opened this issue · comments

2019-06-19 19:32:00.284 13279-13279/com.tencent.igame E/MtaSDK.CaughtExp: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window android.app.Activity.getWindow()' on a null object reference
        at tech.linjiang.pandora.util.ViewKnife.tryGetTheFrontView(ViewKnife.java:258)
        at tech.linjiang.pandora.inspector.ElementHoldView.tryGetFrontView(ElementHoldView.java:103)
        at tech.linjiang.pandora.ui.fragment.ViewFragment.getLayoutView(ViewFragment.java:53)
        at tech.linjiang.pandora.ui.fragment.BaseFragment.onCreateView(BaseFragment.java:109)
        at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
        at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
        at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
        at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
        at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
        at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
        at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)
        at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
        at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
        at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:620)
        at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1419)
        at android.app.Activity.performStart(Activity.java:7457)

你好,请问有什么复现步骤吗或者当时你的app的操作流程是如何的?

我使用到自己的app上是必现的,看起来是获取FrontView兼容性问题,我们项目比较复杂,各种类继承。

还有一点,那个网络监听那块,如果发送一个空包,比如类似:

httpURLConnection.setFixedLengthStreamingMode(0);
httpURLConnection.setRequestProperty("Content-Length", "0");
httpURLConnection.connect();

会卡在这里一直等待,所以希望还是可以按需配置网络监听模块,默认我建议去掉下。

第一个问题:Pandora通过lifeCycle在onResume暂存了上个Activity的引用,这里Crash是由于获取前面这个对象时这个对象为null,我这边复现不了所以如果你方便的话还请帮忙调试下;
第二个问题:看示例你这边是用的原生的HttpURLConnection请求,麻烦告知下你使用的是哪个Pandora的版本,因为之前升级过OKHttp的版本,在处理FixedLength这里遗留了点问题,我看看是不是因为这个导致的;
第三个问题:请试下 2504804c67 这个版本,之前改了还未发布,设置里增加了个开关用于关闭对HttpURLConnection的代理,看看是否符合你的需求;

好的,我明天对第一个问题调试一下,后两个问题用你后面的版本应该没问题,我估计也是FixedLength的问题。

image
看到这里,貌似lifeCycleCallback没有注册成功,这里并没有HistoryRecorder这个callback ,这如何出现的,也挺奇怪的 。

莫非是因为我们接入了tinker导致???

image
果然

这个坑自己填算了。

兄弟,希望你解决后能分享下,谢谢了🤝