AutoAccountingOrg / AutoAccounting

你的每一笔账单都值得记录!
GNU General Public License v3.0
254 stars 23 forks source link

授予悬浮窗权限后仍然不断提示没有权限 #530

Closed mryuzhu closed 6 days ago

mryuzhu commented 1 week ago

当前使用的框架

描述错误

授予悬浮窗权限后仍然不断提示没有权限

重现步骤

1安装网盘新版自动记账
2重启手机
3授权后仍然提示没有权限
4重启手机
5问题复现

相关环境说明

OS版本 Android 版本 1.0.10.0.UMNCNXM 14 UKQ1.230804.001 钱迹4.1.0 自动记账4.0.0-Canary.20240920151104-Xposed

日志内容

[2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] Hooker init success, 自动记账(212) [2024-09-21 00:17:53] [ HookerEnvironment ] [ Logger ] [ INFO ] get: clazz_method [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.ACCESS_NETWORK_STATE [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ ERROR ] 自动记账 Permission denied: android.permission.SYSTEM_ALERTWINDOW net.ankio.auto.core.App.permissionCheck(App.kt:427) net.ankio.auto.core.App.initHooker(App.kt:370) net.ankio.auto.core.App.access$initHooker(App.kt:50) net.ankio.auto.core.App$handleLoadPackage$1.invoke(App.kt:251) net.ankio.auto.core.App$handleLoadPackage$1.invoke(App.kt:250) net.ankio.auto.core.App$Companion.hookAppContext$onCachedApplication(App.kt:182) net.ankio.auto.core.App$Companion.access$hookAppContext$onCachedApplication(App.kt:52) net.ankio.auto.core.App$Companion$hookAppContext$1$1.afterHookedMethod(App.kt:205) rs.UfrnBRrvf.kfKWvTqBU.XposedBridge$LegacyApiSupport.handleAfter(Unknown Source:33) org.lsposed.lspd.impl.LSPosedBridge$NativeHooker.callback(Unknown Source:279) LSPHooker.attach(Unknown Source:11) android.app.Instrumentation.newApplication(Instrumentation.java:1287) android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1487) android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1424) android.app.ActivityThread.handleBindApplication(ActivityThread.java:7466) android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) android.app.ActivityThread$H.handleMessage(ActivityThread.java:2382) android.os.Handler.dispatchMessage(Handler.java:106) android.os.Looper.loopOnce(Looper.java:224) android.os.Looper.loop(Looper.java:318) android.app.ActivityThread.main(ActivityThread.java:8777) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)

[2024-09-21 00:17:53] [ HookerEnvironment ] [ Logger ] [ INFO ] InitHooker: 自动记账, AutoVersion: 4.0.0-Canary.20240920151104 - Xposed [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.QUERY_ALL_PACKAGES [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] PartHooker init: ActiveHooker [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.INTERNET [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] PartHooker init success: ActiveHooker [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.FOREGROUND_SERVICE_SPECIAL_USE [2024-09-21 00:17:53] [ HookerEnvironment ] [ Logger ] [ INFO ] get: methods_adaptation [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.FOREGROUND_SERVICE [2024-09-21 00:17:53] [ net.ankio.auto.xposed ] [ LanguageUtils.kt(33) ] [ INFO ] App语言:SYSTEM 实际获取的语言:zh [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ ERROR ] 自动记账 Permission denied: android.permission.SYSTEM_ALERTWINDOW net.ankio.auto.core.App.permissionCheck(App.kt:427) net.ankio.auto.core.App.initHooker(App.kt:370) net.ankio.auto.core.App.access$initHooker(App.kt:50) net.ankio.auto.core.App$handleLoadPackage$1.invoke(App.kt:251) net.ankio.auto.core.App$handleLoadPackage$1.invoke(App.kt:250) net.ankio.auto.core.App$Companion.hookAppContext$onCachedApplication(App.kt:182) net.ankio.auto.core.App$Companion.access$hookAppContext$onCachedApplication(App.kt:52) net.ankio.auto.core.App$Companion$hookAppContext$1$1.afterHookedMethod(App.kt:205) rs.UfrnBRrvf.kfKWvTqBU.XposedBridge$LegacyApiSupport.handleAfter(Unknown Source:33) org.lsposed.lspd.impl.LSPosedBridge$NativeHooker.callback(Unknown Source:279) LSPHooker.attach(Unknown Source:11) android.app.Instrumentation.newApplication(Instrumentation.java:1287) android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1487) android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1424) android.app.ActivityThread.handleBindApplication(ActivityThread.java:7466) android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) android.app.ActivityThread$H.handleMessage(ActivityThread.java:2382) android.os.Handler.dispatchMessage(Handler.java:106) android.os.Looper.loopOnce(Looper.java:224) android.os.Looper.loop(Looper.java:318) android.app.ActivityThread.main(ActivityThread.java:8777) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)

[2024-09-21 00:17:44] [ HookerEnvironment ] [ Logger ] [ INFO ] InitHooker: 自动记账, AutoVersion: 4.0.0-Canary.20240920151104 - Xposed [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] PartHooker init success: ActiveHooker [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] Hooker init success, 自动记账(212) [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.INTERNET [2024-09-21 00:17:44] [ HookerEnvironment ] [ Logger ] [ INFO ] get: methods_adaptation [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.FOREGROUND_SERVICE [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.ACCESS_NETWORK_STATE [2024-09-21 00:17:44] [ HookerEnvironment ] [ Logger ] [ INFO ] get: clazz_method [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] PartHooker init: ActiveHooker [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.FOREGROUND_SERVICE_SPECIAL_USE [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.QUERY_ALL_PACKAGES [2024-09-21 00:17:44] [ net.ankio.auto.xposed ] [ LanguageUtils.kt(33) ] [ INFO ] App语言:SYSTEM 实际获取的语言:zh 1bfb519299321938864d04d53b4055f5 9491d799d5f3da3b481a2b26052ae02d a254935f75a3a39ea3e63f841e43bd8c c4dbbca271158ada4060a64201b9f8f2 Screenshot_2024-09-20-17-59-41-710_com android settings

这不是重复的 issue

AnkioTomas commented 1 week ago

由于手头没有MIUI,麻烦您使用测试安装包帮我测试以下功能(步骤如下):

悬浮窗检测是否有效

  1. 关闭自动记账的悬浮窗权限
  2. 安装测试安装包的自动记账
  3. 重新启动安卓系统
  4. 打开自动记账(不要授权悬浮窗权限),看是否弹出无权限的窗口;

自动记账后台启动服务

  1. 在第一个测试的基础进行测试
  2. 不要杀死自动记账(保持后台运行)
  3. 打开支付宝 - 我的 - 账单,选择一个账单点进去
  4. 等待自动记账识别
  5. 看自动记账是否可以正常弹出小标签(金额倒计时)、点击后是否可以正常弹出账单
  6. 在账单页面的分类、资产、日期分别点开选择,看是否正常
  7. 最后保存账单,到自动记账里面查看是否为自己保存的账单。

最后

以上两个步骤如果有一个失败,请务必发我【自动记账日志】(首页右上角日志 - 分享)及【LSPosed日志】 当然如果都成功也请告知于我。

mryuzhu commented 1 week ago

1清除了应用数据重新安装了最新版自动记账,但是进入后仍然是提示无权限 Screenshot_2024-09-21-01-08-45-934_net ankio auto xposed 2在1没有给悬浮窗权限基础上,打开支付宝账单无任何反应,自动记账仍然在后台运行 Screenshot_2024-09-21-01-11-07-935_com eg android AlipayGphone 以下是日志: [2024-09-21 01:15:58] [ HookerEnvironment ] [ Logger ] [ INFO ] get: methods_adaptation [2024-09-21 01:15:58] [ HookerEnvironment ] [ Logger ] [ INFO ] get: clazz_method [2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ INFO ] PartHooker init: MessageBoxHooker [2024-09-21 01:15:58] [ HookerEnvironment ] [ Logger ] [ INFO ] get: methods_adaptation [2024-09-21 01:15:58] [ HookerEnvironment ] [ Logger ] [ INFO ] get: clazz_method [2024-09-21 01:15:58] [ HookerEnvironment ] [ Logger ] [ INFO ] get: clazz_method [2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ INFO ] PartHooker init: RedPackageHooker [2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ INFO ] PartHooker init: WebViewHooker [2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ INFO ] PartHooker init success: RedPackageHooker [2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ INFO ] PartHooker error: java.lang.ClassNotFoundException: Didn't find class " com.alipay.mobile.nebulacore.web.H5WebView" on path: DexPathList[[zip file "/data/app/V_NtS8kQV0pvre04BLlNQQ==/com.eg.android.AlipayGphone-kxretim4Mt6i7lBhV_O6Sg==/base.apk"],nativeLibraryDirectories=[/data/user/0/com.eg.android.AlipayGphone/app_plugins_lib, /data/app/V_NtS8kQV0pvre04BLlNQQ==/com.eg.android.AlipayGphone-kxretim4Mt6i7lBhV_O6Sg==/lib/arm64, /data/app/~~V_NtS8kQV0pvre04BLlNQQ==/com.eg.android.AlipayGphone-kxretim4Mt6i7lBhV_O6Sg==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]] [2024-09-21 01:15:58] [ HookerEnvironment ] [ Logger ] [ INFO ] get: methods_adaptation [2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ INFO ] Hooker init success, 支付宝(1201) [2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ INFO ] 支付宝 No permission required [2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ ERROR ] java.lang.ClassNotFoundException: Didn't find class " com.alipay.mobile.nebulacore.web.H5WebView" on path: DexPathList[[zip file "/data/app/V_NtS8kQV0pvre04BLlNQQ==/com.eg.android.AlipayGphone-kxretim4Mt6i7lBhV_O6Sg==/base.apk"],nativeLibraryDirectories=[/data/user/0/com.eg.android.AlipayGphone/app_plugins_lib, /data/app/V_NtS8kQV0pvre04BLlNQQ==/com.eg.android.AlipayGphone-kxretim4Mt6i7lBhV_O6Sg==/lib/arm64, /data/app/~~V_NtS8kQV0pvre04BLlNQQ==/com.eg.android.AlipayGphone-kxretim4Mt6i7lBhV_O6Sg==/base.apk!/lib/arm64-v8a, /system/lib64, /systemext/lib64]] kUWbARw.mZwrhhzLeaz.Hm.XposedHelpers.findClass(Unknown Source:12) net.ankio.auto.hooks.alipay.hooks.WebViewHooker.hook(WebViewHooker.kt:42) net.ankio.auto.core.App.initHooker(App.kt:403) net.ankio.auto.core.App.access$initHooker(App.kt:50) net.ankio.auto.core.App$handleLoadPackage$1.invoke(App.kt:251) net.ankio.auto.core.App$handleLoadPackage$1.invoke(App.kt:250) net.ankio.auto.core.App$Companion.hookAppContext$onCachedApplication(App.kt:182) net.ankio.auto.core.App$Companion.access$hookAppContext$onCachedApplication(App.kt:52) net.ankio.auto.core.App$Companion$hookAppContext$2$1$1.afterHookedMethod(App.kt:226) kUWbARw.mZwrhhzLeaz.Hm.XposedBridge$LegacyApiSupport.handleAfter(Unknown Source:33) org.lsposed.lspd.impl.LSPosedBridge$NativeHooker.callback(Unknown Source:279) LSPHooker.attachBaseContext(Unknown Source:11) android.app.Application.attach(Application.java:368) android.app.Instrumentation.newApplication(Instrumentation.java:1287) android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1487) android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1424) android.app.ActivityThread.handleBindApplication(ActivityThread.java:7466) android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) android.app.ActivityThread$H.handleMessage(ActivityThread.java:2382) android.os.Handler.dispatchMessage(Handler.java:106) android.os.Looper.loopOnce(Looper.java:224) android.os.Looper.loop(Looper.java:318) android.app.ActivityThread.main(ActivityThread.java:8777) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)

[2024-09-21 01:15:58] [ com.eg.android.AlipayGphone ] [ Logger ] [ INFO ] PartHooker init success: MessageBoxHooker [2024-09-21 01:15:58] [ HookerEnvironment ] [ Logger ] [ INFO ] InitHooker: 支付宝, AutoVersion: 4.0.0-Canary.20240920151104 - Xposed [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.ACCESS_NETWORK_STATE [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.FOREGROUND_SERVICE [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.FOREGROUND_SERVICE_SPECIAL_USE [2024-09-21 01:15:47] [ HookerEnvironment ] [ Logger ] [ INFO ] InitHooker: 自动记账, AutoVersion: 4.0.0-Canary.20240920151104 - Xposed [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.QUERY_ALL_PACKAGES [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] 自动记账 Permission granted: android.permission.INTERNET [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] PartHooker init success: ActiveHooker [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ ERROR ] 自动记账 Permission denied: android.permission.SYSTEM_ALERTWINDOW net.ankio.auto.core.App.permissionCheck(App.kt:427) net.ankio.auto.core.App.initHooker(App.kt:370) net.ankio.auto.core.App.access$initHooker(App.kt:50) net.ankio.auto.core.App$handleLoadPackage$1.invoke(App.kt:251) net.ankio.auto.core.App$handleLoadPackage$1.invoke(App.kt:250) net.ankio.auto.core.App$Companion.hookAppContext$onCachedApplication(App.kt:182) net.ankio.auto.core.App$Companion.access$hookAppContext$onCachedApplication(App.kt:52) net.ankio.auto.core.App$Companion$hookAppContext$1$1.afterHookedMethod(App.kt:205) kUWbARw.mZwrhhzLeaz.Hm.XposedBridge$LegacyApiSupport.handleAfter(Unknown Source:33) org.lsposed.lspd.impl.LSPosedBridge$NativeHooker.callback(Unknown Source:279) LSPHooker.attach(Unknown Source:11) android.app.Instrumentation.newApplication(Instrumentation.java:1287) android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1487) android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1424) android.app.ActivityThread.handleBindApplication(ActivityThread.java:7466) android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) android.app.ActivityThread$H.handleMessage(ActivityThread.java:2382) android.os.Handler.dispatchMessage(Handler.java:106) android.os.Looper.loopOnce(Looper.java:224) android.os.Looper.loop(Looper.java:318) android.app.ActivityThread.main(ActivityThread.java:8777) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)

[2024-09-21 01:15:47] [ HookerEnvironment ] [ Logger ] [ INFO ] get: methods_adaptation [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] Hooker init success, 自动记账(212) [2024-09-21 01:15:47] [ HookerEnvironment ] [ Logger ] [ INFO ] get: clazz_method [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ Logger ] [ INFO ] PartHooker init: ActiveHooker [2024-09-21 01:15:47] [ net.ankio.auto.xposed ] [ LanguageUtils.kt(33) ] [ INFO ] App语言:SYSTEM 实际获取的语言:zh [2024-09-21 01:15:44] [ android ] [ Logger ] [ INFO ] Notification not in selected apps: com.tencent.mobileqq, [] [2024-09-21 01:15:26] [ android ] [ Logger ] [ INFO ] Notification title or text is empty

mryuzhu commented 1 week ago

补充一下,这是MIUI/澎湃OS,清除数据后默认权限,上述测试中权限内容如图所示,测试前已重启手机。 Screenshot_2024-09-21-01-18-42-111_com miui securitycenter

AnkioTomas commented 1 week ago

你这个支付宝需要更新到最新版

AnkioTomas commented 1 week ago

还有应该提供lsp的日志

mryuzhu commented 1 week ago

支付宝已更新到最新版本,更新后已重启 问题复现 Screenshot_2024-09-21-10-39-07-590_com eg android AlipayGphone Screenshot_2024-09-21-10-38-40-798_net ankio auto xposed

log.txt

[LSPosed_2024-09-21T10_40_26.293141.zip](https://github.com/user-attachments/files/17082538/LSPosed_2024-09-21T10_40_26.293141.zip)

mryuzhu commented 6 days ago

log.txt 手动授予悬浮窗权限后,提示仍然存在,应用内点击数据命中规则后,记账悬浮窗出现,但是点击备注无法唤起键盘 Screenshot_2024-09-21-11-55-24-666_net ankio auto xposed

AnkioTomas commented 6 days ago

使用这个版本试试看悬浮窗问题是否还存在(需要重启):https://cloud.ankio.net/d/%E8%87%AA%E5%8A%A8%E8%AE%B0%E8%B4%A6/%E4%B8%B4%E6%97%B6%E6%B5%8B%E8%AF%95%E5%8C%85/app2.apk

zhijiu1 commented 6 days ago

我之前也是这样,然后我就删除新版本然后下载回以前的版本,然后在更新这个问题就得以解决

mryuzhu commented 6 days ago

新版已解决,这个bug修复了!