AM Debug v2.7.0 Run#1486
Refactor Fix detecting running apps with zygote preload
Apps with zygote preload (zygotePreloadName in AndroidManifest) can assign a
different process name, and the processes started by this zygote process runs
under a different user ID as they are completely isolated from each other.
Because the zygote process name is different from the package name, it isn't
possible to assign these processes to an app simply using the package name.
Instead, user ID is first used to detect the zygote process and then the
conventional package-name-as-a-prefix is used to find out the rest of the
processes created by the zygote process i.e. the child processes. Ideally, the
child processes should be detected by checking whether their parent process ID
belongs to the zygote process, but this procedure isn't followed in order to
reduce complexity.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Fix detecting running apps with zygote preload
Apps with zygote preload (zygotePreloadName in AndroidManifest) can assign a
different process name, and the processes started by this zygote process runs
under a different user ID as they are completely isolated from each other.
Because the zygote process name is different from the package name, it isn't
possible to assign these processes to an app simply using the package name.
Instead, user ID is first used to detect the zygote process and then the
conventional package-name-as-a-prefix is used to find out the rest of the
processes created by the zygote process i.e. the child processes. Ideally, the
child processes should be detected by checking whether their parent process ID
belongs to the zygote process, but this procedure isn't followed in order to
reduce complexity.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1487
AppDetails Fetch running services from activity manager
Previously,
running services and were matched with the running apps to fetch process IDs.
While dumpsys command could be accessed with android.permission.DUMP without
root/ADB, fetching a list of running apps required root/ADB. This is now
handled in two different ways:
1. In no-root mode, android.permission.DUMP permission (if granted) is still
used to fetch the running services, but this time, the process IDs are
fetched from the dump itself rather than fetching running apps which
required a more privileged permission.
2. In root/ADB mode, the running services are fetched directly from
In the App Info tab, clicking on any running service opens the log viewer with
process ID as the filter. Other behaviours are continued to be the same.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AppDetails Fetch running services from activity manager
Previously,
dumpsys activity services was used to retrieve the list ofrunning services and were matched with the running apps to fetch process IDs.
While dumpsys command could be accessed with android.permission.DUMP without
root/ADB, fetching a list of running apps required root/ADB. This is now
handled in two different ways:
1. In no-root mode, android.permission.DUMP permission (if granted) is still
used to fetch the running services, but this time, the process IDs are
fetched from the dump itself rather than fetching running apps which
required a more privileged permission.
2. In root/ADB mode, the running services are fetched directly from
ActivityManager#getServices().In the App Info tab, clicking on any running service opens the log viewer with
process ID as the filter. Other behaviours are continued to be the same.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1488
Refactor Replace reflection calls using HiddenApiRefinePlugin
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Replace reflection calls using HiddenApiRefinePlugin
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1489
Main Fix filtering running apps
When running apps were filtered using user ID (UID) but the UID is shared with
more than one packages, incorrect apps were listed. To fix this issue, shared
UIDs are skipped from matching.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Main Fix filtering running apps
When running apps were filtered using user ID (UID) but the UID is shared with
more than one packages, incorrect apps were listed. To fix this issue, shared
UIDs are skipped from matching.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1490
Main Fix freezing issue after returning from another activity
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Main Fix freezing issue after returning from another activity
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1491
Refactor Use hidden API to fetch UID name
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Use hidden API to fetch UID name
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1492
Refactor Prevent IDE from inferring throwable from hidden API
For any method used in the hidden API library, Android Studio or IntelliJ may
infer the return value to be null or 0/false since all stub methods call
UnsupportedOperationException. Instead of calling the exception directly, it is
called from another utility class (removed during compilation) where the output
is forcefully set to “any”.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Refactor Prevent IDE from inferring throwable from hidden API
For any method used in the hidden API library, Android Studio or IntelliJ may
infer the return value to be null or 0/false since all stub methods call
UnsupportedOperationException. Instead of calling the exception directly, it is
called from another utility class (removed during compilation) where the output
is forcefully set to “any”.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1494
Use activity manager to fetch running apps.
Try to get the running package from activity manager.
Signed-off-by: Vu Hoan Huy <vuhoanhuy99@gmail.com>
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Use activity manager to fetch running apps.
Try to get the running package from activity manager.
Signed-off-by: Vu Hoan Huy <vuhoanhuy99@gmail.com>
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1495
Main Optimize fetching running app processes
For unprivileged users, AM is returned as the only running apps.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
Main Optimize fetching running app processes
For unprivileged users, AM is returned as the only running apps.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
AM Debug v2.7.0 Run#1496
RunningApps Display running apps for shared UID and PID
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
RunningApps Display running apps for shared UID and PID
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>