apsun / NekoSMS

A pattern-based text message blocker for Android.
GNU General Public License v3.0
417 stars 44 forks source link

Not working on Android 14 beta 2 #94

Closed leifalbor closed 10 months ago

leifalbor commented 1 year ago

App itself runs fine, no crashes etc - but any texts matching any of my set blocking patterns still passthrough the filter without detection.


If you are submitting a bug report and do not include the following info, your issue will be ignored!

Please paste your Xposed logs (Xposed Installer -> Logs -> Menu -> Save to SD card) below:


[LSPosed_2023-05-12T12_15_34.112716.zip](https://github.com/apsun/NekoSMS/files/11458291/LSPosed_2023-05-12T12_15_34.112716.zip)

Thank you for helping us help you help us all.

apsun commented 1 year ago

The only error I can find in the logs is this:

[ 2023-05-11T12:44:05.502     1001:  2565:  2565 E/LSPosed-Bridge  ] java.lang.NoSuchMethodError: com.android.internal.telephony.InboundSmsHandler(java.lang.String,android.content.Context,com.android.internal.telephony.SmsStorageMonitor,com.android.internal.telephony.Phone)#exact
    at VShN.TSlRFB.wsXsPxDAuz.XposedHelpers.lambda$findConstructorExact$7(XposedHelpers.java:721)
    at VShN.TSlRFB.wsXsPxDAuz.XposedHelpers$$ExternalSyntheticLambda5.get(Unknown Source:2)
    at java.util.Optional.orElseThrow(Optional.java:404)
    at VShN.TSlRFB.wsXsPxDAuz.XposedHelpers.findConstructorExact(XposedHelpers.java:721)
    at VShN.TSlRFB.wsXsPxDAuz.XposedHelpers.findAndHookConstructor(XposedHelpers.java:733)
    at VShN.TSlRFB.wsXsPxDAuz.XposedHelpers.findAndHookConstructor(XposedHelpers.java:743)
    at com.crossbowffs.nekosms.xposed.SmsHandlerHook.hookSmsHandler(SmsHandlerHook.java:54)
    at com.crossbowffs.nekosms.xposed.SmsHandlerHook.handleLoadPackage(SmsHandlerHook.java:88)
    at VShN.TSlRFB.wsXsPxDAuz.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34)
    at VShN.TSlRFB.wsXsPxDAuz.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:103)
    at VShN.TSlRFB.wsXsPxDAuz.callbacks.XCallback.callAll(XCallback.java:148)
    at org.lsposed.lspd.hooker.LoadedApkGetCLHooker.afterHookedMethod(LoadedApkGetCLHooker.java:123)
    at VShN.TSlRFB.wsXsPxDAuz.XposedBridge$AdditionalHookInfo.callback(XposedBridge.java:494)
    at LSPHooker_.getClassLoader(Unknown Source:8)
    at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1434)
    at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1395)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6952)
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2235)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:205)
    at android.os.Looper.loop(Looper.java:294)
    at android.app.ActivityThread.main(ActivityThread.java:8170)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

... but I don't see any changes to InboundSmsHandler that would cause this. The type signature of the constructor is still the same, AFAICT. I'm probably missing something obvious, unfortunately I don't have a device I can test this myself on.

Did the app work on a previous version of Android?

leifalbor commented 1 year ago

Yep, worked fine on the same device on Android 13 (including all the QPR beta builds I used it on).

The issue became apparent after I upgraded (no wipe) to Android 14 beta 1. That build was an absolute hot-mess so thought I'd wait until beta 2 to report it if the issue was still evident.

I'm happy to provide any specific testing and logs needed to get this app working again - it's a life saver for me!

apsun commented 1 year ago

The log dump you provided doesn't seem to include the full device logcat - either that, or somehow all our logging is broken. The module should print some device info on startup (see https://github.com/apsun/NekoSMS/blob/master/app/src/main/java/com/crossbowffs/nekosms/xposed/SmsHandlerHook.java#L405-L416); are you able to grab that? (I normally do this by connecting the device to a PC and using adb logcat -s NekoSMS)

apsun commented 1 year ago

I've added some logging to dump the InboundSmsHandler class - if you manage to get logcat working, please try installing this build, rebooting the device, and then grab a snapshot of your logs - thanks!

app-release.apk.zip

leifalbor commented 1 year ago

Hey sorry it took me a little while to respond.

Attached are updated logs from LSposed using the latest APK you have me above. I had a go at pulling logs using ADB logcat, but it only gave me blank output files 🤷🏻‍♂️

LSPosed_2023-06-19T21_20_58.613913.zip

apsun commented 10 months ago

Resolved in #98