DavidBerdik / MACsposed

MACsposed - Add support for MAC Address spoofing to Android 12 through 14!
111 stars 13 forks source link

MACsposed Does Not Work with Android 13 #1

Closed DavidBerdik closed 2 years ago

DavidBerdik commented 2 years ago

MACsposed does not work with Android 13. The following stack trace is dumped to the LSposed log when attempting to use it on Android 13.

[ 2022-08-18T00:13:00.276    10214:  2700:  2700 E/LSPosed-Bridge  ] java.lang.NoSuchMethodError: com.android.systemui.qs.QSTileHost#addTile(java.lang.String,java.lang.Integer)
    at de.robv.android.xposed.XposedHelpers.lambda$findMethodBestMatch$5(Unknown Source:6)
    at de.robv.android.xposed.XposedHelpers.f(Unknown Source:0)
    at de.robv.android.xposed.c.get(Unknown Source:8)
    at java.util.Optional.orElseThrow(Optional.java:404)
    at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(Unknown Source:26)
    at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(Unknown Source:4)
    at de.robv.android.xposed.XposedHelpers.callMethod(Unknown Source:4)
    at com.berdik.macsposed.hookers.SystemUIHooker$Companion$hook$2$1.invoke(SystemUIHooker.kt:25)
    at com.berdik.macsposed.hookers.SystemUIHooker$Companion$hook$2$1.invoke(SystemUIHooker.kt:22)
    at com.github.kyuubiran.ezxhelper.utils.XposedHookFactory.beforeHookedMethod(HookUtils.kt:559)
    at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:79)
    at LSPHooker_.setTiles(Unknown Source:8)
    at com.android.systemui.qs.QSPanelControllerBase.onViewAttached(QSPanelControllerBase.java:62)
    at com.android.systemui.qs.QSPanelController.onViewAttached(QSPanelController.java:0)
    at com.android.systemui.util.ViewController$1.onViewAttachedToWindow(ViewController.java:2)
    at com.android.systemui.util.ViewController.init(ViewController.java:29)
    at com.android.systemui.qs.QSFragment.onViewCreated(QSFragment.java:26)
    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1313)
    at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2431)
    at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2210)
    at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2166)
    at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2067)
    at android.app.FragmentManagerImpl$1.run(FragmentManager.java:742)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7898)
    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:936)

As the stack trace demonstrates, the issue is caused by com.android.systemui.qs.QSTileHost#addTile(java.lang.String,java.lang.Integer) not being found. In Android 12, this function is defined here. Even though the error message would seem to imply that the function is no longer present in Android 13, it is still present here. Further investigation in to why it is not being found is required.

DavidBerdik commented 2 years ago

MACsposed v1.1.0 adds support for Android 13.