【微信Xposed】kotlin反射異常RuntimeException:looper or serial is null

在寫微信xposed模塊時,發現微信內部大量使用事件-消息機制以及各種回調函數,導致反射微信Class,實例化時出現各種奇怪的異常:

public b(Context context) {
        AppMethodBeat.i(155865);
        this.mContext = context instanceof Activity ? aj.getContext() : context;
        com.tencent.mm.compatible.a.a.a(8, new a.C0060a() {
            public final void run() {
                AppMethodBeat.i(155864);
                b.this.fEv = new c(b.this.mContext);
                AppMethodBeat.o(155864);
            }
        });
        AppMethodBeat.o(155865);
    }

//實例化這樣的類時,就會出現反射異常:looper is null

解決方案:


                    if (Looper.myLooper() == null)
                    {
                        //手動初始化looper
                        Looper.prepare()
                    }
                    val classIntence=outClassCon.newInstance(mContext)
                    XposedBridge.log("實例::"+classIntence.toString())

參考:java.lang.RuntimeException:每個線程只能創建一個Looper

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章