MuntashirAkon / AppManager

A full-featured package manager and viewer for Android
https://muntashirakon.github.io/AppManager/
Other
4.88k stars 277 forks source link

ComponentBlocker: Could not disable component (Android 14) #1218

Closed craigacgomez closed 11 months ago

craigacgomez commented 1 year ago

Please check before submitting an issue

Describe the bug

App Manager Component Blocker feature does not seem to be working on Android 14. Unable to disable components either individually or using the "Block Trackers" dialogue.

To Reproduce

Expected behavior

Screenshots

Screenshot_20231007-192206

Logs

10-07 19:18:46.882 10174 11245 E ComponentBlocker: Could not disable component: krypton.tbsafetychecker/com.applovin.sdk.AppLovinInitProvider
10-07 19:18:46.882 10174 11245 E ComponentBlocker: java.lang.NoSuchMethodError: No interface method setComponentEnabledSetting(Landroid/content/ComponentName;III)V in class Landroid/content/pm/IPackageManager; or its super classes (declaration of 'android.content.pm.IPackageManager' appears in /system/framework/framework.jar)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.compat.PackageManagerCompat.setComponentEnabledSetting(PackageManagerCompat.java:339)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.rules.compontents.ComponentsBlocker.applyRules(ComponentsBlocker.java:441)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.details.AppDetailsViewModel.lambda$updateRulesForComponent$15$io-github-muntashirakon-AppManager-details-AppDetailsViewModel(AppDetailsViewModel.java:529)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.details.AppDetailsViewModel$$ExternalSyntheticLambda31.run(Unknown Source:8)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.util.concurrent.FutureTask.run(FutureTask.java:264)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.lang.Thread.run(Thread.java:1012)
10-07 19:18:46.882 10174 11245 E ComponentBlocker: Could not disable component: krypton.tbsafetychecker/com.facebook.ads.AudienceNetworkContentProvider
10-07 19:18:46.882 10174 11245 E ComponentBlocker: java.lang.NoSuchMethodError: No interface method setComponentEnabledSetting(Landroid/content/ComponentName;III)V in class Landroid/content/pm/IPackageManager; or its super classes (declaration of 'android.content.pm.IPackageManager' appears in /system/framework/framework.jar)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.compat.PackageManagerCompat.setComponentEnabledSetting(PackageManagerCompat.java:339)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.rules.compontents.ComponentsBlocker.applyRules(ComponentsBlocker.java:441)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.details.AppDetailsViewModel.lambda$updateRulesForComponent$15$io-github-muntashirakon-AppManager-details-AppDetailsViewModel(AppDetailsViewModel.java:529)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.details.AppDetailsViewModel$$ExternalSyntheticLambda31.run(Unknown Source:8)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.util.concurrent.FutureTask.run(FutureTask.java:264)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
10-07 19:18:46.882 10174 11245 E ComponentBlocker:      at java.lang.Thread.run(Thread.java:1012)
10-07 19:18:46.882  2318  2579 D audio_hw_output_stream: update stream 1 active 1 gain 0.012788
10-07 19:18:46.883 10174 11245 E ComponentBlocker: Could not disable component: krypton.tbsafetychecker/com.applovin.impl.adview.activity.FullscreenAdService
10-07 19:18:46.883 10174 11245 E ComponentBlocker: java.lang.NoSuchMethodError: No interface method setComponentEnabledSetting(Landroid/content/ComponentName;III)V in class Landroid/content/pm/IPackageManager; or its super classes (declaration of 'android.content.pm.IPackageManager' appears in /system/framework/framework.jar)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.compat.PackageManagerCompat.setComponentEnabledSetting(PackageManagerCompat.java:339)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.rules.compontents.ComponentsBlocker.applyRules(ComponentsBlocker.java:441)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.details.AppDetailsViewModel.lambda$updateRulesForComponent$15$io-github-muntashirakon-AppManager-details-AppDetailsViewModel(AppDetailsViewModel.java:529)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at io.github.muntashirakon.AppManager.details.AppDetailsViewModel$$ExternalSyntheticLambda31.run(Unknown Source:8)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at java.util.concurrent.FutureTask.run(FutureTask.java:264)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
10-07 19:18:46.883 10174 11245 E ComponentBlocker:      at java.lang.Thread.run(Thread.java:1012)

Device info

Additional context

No response

craigacgomez commented 1 year ago

Looking at the differences in the PackageManager AIDL between the Android 13 and Android 14 source code (/platform/frameworks/base/core/java/android/content/pm/IPackageManager.aidl), the "setComponentEnabledSetting" method now has a new parameter for "callingPackage") in the method signature.

Android 13: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android13-release/core/java/android/content/pm/IPackageManager.aidl image

vs

Android 14: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android14-release/core/java/android/content/pm/IPackageManager.aidl image

HarriBuh commented 1 year ago

Same here. Just updated my Pixel 7 to A14 and it stopped working.

MuntashirAkon commented 1 year ago

I'm unavailable this month. You can create a PR if you need an urgent fix.

craigacgomez commented 1 year ago

@MuntashirAkon PR created for AppManager 3.1.x branch.

https://github.com/MuntashirAkon/AppManager/pull/1223

MuntashirAkon commented 11 months ago

Fixed in 5a7837546389d636e78fff1f533ed72fa7cf152f

grasmanek94 commented 6 months ago

I'm using 3.1.5 App Manager and still experience this on Android 14 / Samsung S21+ firmware from feb 2024 (although I don't think the fw release date would matter). Rooted with Magisk v27.0.

:/data/ssh/root # ps -Af | grep 20999
u0_a301      20999  1020 2 14:17:45 ?     00:00:21 io.github.muntashirakon.AppManager
u0_a301      21043 20999 0 14:17:45 ?     00:00:00 su --mount-master
root         24023 22810 10 14:34:46 pts/0 00:00:00 grep 20999

 logcat | grep "20999" > /sdcard/logcat.txt
-----------------------

04-10 14:35:43.836  1355  1902 I InputDispatcher: Delivering touch to (20999): action: 0x0, f=0x800, d=0, '7f5d5b3', t=1 
04-10 14:35:43.836 20999 20999 I ViewRootImpl@d41799d[AppDetailsActivity]: ViewPostIme pointer 0
04-10 14:35:43.870  1355  1902 I InputDispatcher: Delivering touch to (20999): action: 0x1, f=0x800, d=0, '7f5d5b3', t=1 
04-10 14:35:43.871 20999 20999 I ViewRootImpl@d41799d[AppDetailsActivity]: ViewPostIme pointer 1
04-10 14:35:43.873  1167  1167 I LayerHistory: io.github.muntashirakon.AppManager/io.github.muntashirakon.AppManager.details.AppDetailsActivity$_20999#719 Max (can't resolve refresh rate)
04-10 14:35:43.884 20999 23563 W JavaBinder: ibinderForJavaObject: 0x794e8d54a0 is not a Binder object
04-10 14:35:43.884 20999 23563 E Parcel  : Native binder in markForBinder is null for non-null jobject
(...)
04-10 14:35:43.899 20999 20999 D AnimatorSet: mReversing is false. Don't call initChildren.
04-10 14:35:43.902 20999 20999 I ViewRootImpl@d9ae4e7[MainActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2
04-10 14:35:43.902 20999 20999 I ViewRootImpl@d41799d[AppDetailsActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2
04-10 14:35:43.902 20999 23564 W JavaBinder: ibinderForJavaObject: 0x794e7cb410 is not a Binder object
04-10 14:35:43.902 20999 23564 E Parcel  : Native binder in markForBinder is null for non-null jobject
(...)
04-10 14:35:43.920 20999 23561 W JavaBinder: ibinderForJavaObject: 0x794eca1420 is not a Binder object
04-10 14:35:43.920 20999 23564 W JavaBinder: ibinderForJavaObject: 0x794e7cb410 is not a Binder object
04-10 14:35:43.920 20999 23564 E Parcel  : Native binder in markForBinder is null for non-null jobject
04-10 14:35:43.920 20999 23561 E Parcel  : Native binder in markForBinder is null for non-null jobject
04-10 14:35:43.921 20999 23563 W JavaBinder: ibinderForJavaObject: 0x794e8d54a0 is not a Binder object
(...)
04-10 14:35:44.422 20999 23563 W JavaBinder: ibinderForJavaObject: 0x794e8d54a0 is not a Binder object
04-10 14:35:44.422 20999 23563 E Parcel  : Native binder in markForBinder is null for non-null jobject
04-10 14:35:44.719  1167  1167 I LayerHistory: io.github.muntashirakon.AppManager/io.github.muntashirakon.AppManager.details.AppDetailsActivity$_20999#719 Max (can't resolve refresh rate)
04-10 14:35:44.858 20999 20999 I ViewRootImpl@d9ae4e7[MainActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2
04-10 14:35:44.858 20999 20999 I ViewRootImpl@d41799d[AppDetailsActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2
04-10 14:35:45.561  1355  1902 I InputDispatcher: Delivering touch to (20999): action: 0x0, f=0x800, d=0, '7f5d5b3', t=1 
04-10 14:35:45.562 20999 20999 I ViewRootImpl@d41799d[AppDetailsActivity]: ViewPostIme pointer 0
04-10 14:35:45.575  1167  1167 I LayerHistory: io.github.muntashirakon.AppManager/io.github.muntashirakon.AppManager.details.AppDetailsActivity$_20999#719 Max (can't resolve refresh rate)
04-10 14:35:45.599 20999 20999 I ViewRootImpl@d9ae4e7[MainActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2
04-10 14:35:45.599 20999 20999 I ViewRootImpl@d41799d[AppDetailsActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2
04-10 14:35:45.639  1355  1902 I InputDispatcher: Delivering touch to (20999): action: 0x1, f=0x800, d=0, '7f5d5b3', t=1 
04-10 14:35:45.639 20999 20999 I ViewRootImpl@d41799d[AppDetailsActivity]: ViewPostIme pointer 1
04-10 14:35:45.654 20999 20999 D AnimatorSet: mReversing is false. Don't call initChildren.
04-10 14:35:46.098  1167  1167 I LayerHistory: io.github.muntashirakon.AppManager/io.github.muntashirakon.AppManager.details.AppDetailsActivity$_20999#719 Max (can't resolve refresh rate)
04-10 14:35:46.201 20999 20999 I ViewRootImpl@d9ae4e7[MainActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2
04-10 14:35:46.201 20999 20999 I ViewRootImpl@d41799d[AppDetailsActivity]: onDisplayChanged oldDisplayState=2 newDisplayState=2

(...) - is just repeating the previous lines.