Arno Welzel wrote on Sun, 23 Jun 2024 03:29:05 +0200 :
Hey, maybe you have knowledge and the tools to create a small testing app,
test it and tell us the results ?
There are already many apps out there which can do this, for example:
<https://f-droid.org/de/packages/com.mirfatif.permissionmanagerx/>
It's always good to obtain tool recommendations from folks who know a lot
about Android, where my Galaxy is unrootable but I do use ADB every day and
I use the Android Wireless Debugging tile all the time to allow ADB
authentication (either by pairing, which requires a password, or by direct
connection by USB or over Wi-Fi) - but others who may not be using ADB...
they will have to do some homework first.
c:\> adb connect 192.168.0.2:36295
c:\> adb pair 192.168.0.2:43145 016983
Even with all that knowledge, my initial connection over ADB failed; but it
may have been because I was also using screencopy mirroring at the time.
c:\> scrcpy -s 192.168.0.2
Nonetheless, here are the installation particulars that I ran just now.
https://f-droid.org/de/packages/com.mirfatif.permissionmanagerx/https://f-droid.org/repo/com.mirfatif.permissionmanagerx_125.apkName: permission-manager_com.mirfatif.permissionmanagerx_125.apk
Size: 2847225 bytes (2780 KiB)
SHA256: 678FAC2556E610E080E058F1E1F362F0259C8BF314B7580282C678BFA750AF19
Privileges: Root or ADB access is required to get AppOp permissions and to
change permissions state. [Don't Remind] or [OK]
a. Enable Wireless Debugging (pairing) or ADB Over Network.
b. Enter port and tap connect button.
c. Allow ADB authentication when prompted.
https://mirfatif.github.io/PermissionManagerX/help/en/#faq1Help: Why PMX requires root or ADB access?
Android won't allow a normal user app to change
other apps' manifest or AppOps permissions, even its
own. Only reading AppOps without root or ADB is
possible provided that hidden APIs are not
blacklisted on your device (which is very unlikely
on Android 9+).
That's why we run a separate process with high
privileges to circumvent the restrictions.
By default, the background process (daemon) is run
with ADB UID (2000) or (if rooted) System UID (1000).
On rooted devices, UID can be changed in PMX
Advanced Settings.
My device isn't rooted. How can I use PMX?
Use PMX with ADB.
However ADB is not as powerful as root is. PMX takes
more time to build the list of apps when its running
with ADB.
What are hidden APIs?
The core functionality of PMX revolves around
Hidden APIs. These are the capabilities required to
perform tasks (like granting or revoking permissions)
which can only be performed by privileged system apps.
So these capabilities aren't available to normal
user apps. But PMX uses these capabilities with the
help of root or ADB. Usually a user should not be
concerned about this.