App Manager | DEBUG – Telegram
App Manager | DEBUG
2.11K subscribers
104 photos
2 videos
2.33K files
1.79K links
Read policies here before downloading: https://github.com/MuntashirAkon/AMInsecureDebugBuilds

RELEASE channel: @AppManagerChannel
Download Telegram
AM Debug v4.0.0-beta02 Run#2829

Installer Add workaround for HyperOS 2.0

When INSTALLFAILEDHYPEROSISOLATIONVIOLATION is triggered in privileged mode,
it tries again with the installer set to com.android.shell.

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
4
AM Debug v4.0.0-beta02 Run#2833

AppDetails Handle apps installed in a separate non-work profile

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
4🎉2
AM Debug v4.0.0-beta02 Run#2834

Update SSL pins for www.virustotal.com

VirusTotal now uses Google CA instead of DigiCert CA

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
2
AM Debug v4.0.0-beta02 Run#2835

LogViewer Improve SearchCriteria

logcat has been migrated to threadtime format from time with backward
compatibility for the latter. Searching now supports Android Studio conventions:
- Supported keywords are: pid and tag, any other non-keyword filtering are
matched against the log message
- Each keyword takes the intended arguments followed by a : (colon) (e.g., pid:1
denotes filtering all the logs produced by the PID 1)
- All keywords are and'ed together (e.g., pid:1651 tag:Ime means filtering all
the logs with the tag containing Ime belonging to the PID 1651)
- Adding a - (minus) before the keyword denotes exclusion (e.g., -pid:13 denotes
listing all logs except PID 13)
- Adding a ~ (tilde) sign before : (colon) denotes a regular expression match
- Adding a = (equal) sign before : (colon) denotes an exact match (e.g., tag:Ime
filters any logs with a tag containing the string Ime whereas tag=:Ime filters
any logs with a tag that is equal to Ime). pid keyword always does an exact
match
- ~ (tilde) and = (equal) signs are mutually exclusive with ~ (tilde) preferred
over = (equal), i.e., when both signs are present, only ~ (tilde) sign is used
for regular expression matching
- Non-exact and non-regex filters are always case insensitive.

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
👍21
AM Debug v4.0.0-beta02 Run#2836

LogViewer Enable keyword-based message filtering

Apart from considering any non-keyword texts as message query, enable a keyword-
based filtering option: msg. This allows the message filtering to include exact
and regular expression-based filtering along with inverse filtering. E.g., any
logs containing the text "secret" can be filtered out by using -msg:secret.

This is equivalent to Android Studio's message keyword filtering.

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
👍41
AM Debug v4.0.0-beta02 Run#2838

LogViewer Add UID and package filtering in Android 7 onwards

UID filtering can be utilized using the uid keyword. It supports both numeric
UID and its named owner. For example, to filter logs from the Shell user, either
uid:2000 or uid=:shell can be used (equal sign is for exact match). If the
argument is an non-regex integer, an exact match is performed. Otherwise the
typical rules apply.

Package name filtering can be utilized using the pkg keyword (equivalent to
package keyword in Android Studio) which retains all the typical rules. For
example, pkg=:io.github.muntashirakon.AppManager can be used to filter the
logs produced by App Manager release variant.

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
3
AM Debug v4.0.0-beta02 Run#2839

LogViewer Add UID and package filtering options in the "Search by" dialog

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
3
AM Debug v4.0.0-beta02 Run#2840

LogViewer Display UID and package name in the extended log

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
2
App Manager now supports almost every logcat feature from Android Studio with a few exceptions:
1. It does not support Android Studio's process keyword. This is because fetching real time process info has an impact on the overall speed of the log viewer. This is also not that important considering you can perform a PID based filtering from the running apps page.
2. App Manager cannot support uid and package filtering in Android 5, 5.1, and 6.0 due to logcat not returning the UID associated with a log entry. There is, however, a workaround to this issue: retrieve the UID by reading the stat file of the PID. But like the previous point, this has an impact on the speed of the log viewer, hence, not explored. Client-side caching may be explored in the future, but considering the number of users, this may not be implemented at all.
3. Unlike Android Studio, App Manager supports UID based filtering which has many use-cases for our users.
4. App Manager does not support level, is, name keywords as well as any explicit logical operations. The first three keywords aren't applicable to App Manager, because we already provide such options albeit in a different way (as required by a proper GUI viewer). Although explicit logical operations such as &, |, and parenthesis aren't supported, it already supports implicit & operations and explicit not operations.
11👍7😱1🎉1
AM Debug v4.0.0-beta02 Run#2841

Refactor Use Collator to sort app labels

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
👍42🔥1
AM Debug v4.0.0-beta02 Run#2842

Refactor Use alphanumeric sort instead of alphabetical sort

Alphabetical sort does not understand numerals. Therefore, name1, name2, name10
are sorted as name1, name10, name2 which is not preferable in some cases such as
ordering the files in a directory. Instead, alphanumeric sort is used.

For alphanumeric sort, we have borrowed the implementation by David Koelle1
instead of the traditional, expensive regular expression-based implementation.

1: http://www.davekoelle.com/alphanum.html

Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
5🎉2