A full-featured package manager and viewer for Android

Overview

App Manager Logo

App Manager

Docs · Releases · Telegram Channel


Features

General features

  • Fully reproducible, copylefted libre software (GPLv3+)
  • Material design (but not material colours!)
  • No unnecessary permissions
  • Does not connect to the Internet
  • Displays as much info as possible in the main page
  • Lists activities, broadcast receivers, services, providers, app ops, permissions, signatures, shared libraries, etc. of any app
  • Launch (exportable) activities and services
  • Create (customizable) shortcuts of activities
  • Intercept activities
  • Scan for trackers and libraries in apps and list (all or only) tracking classes (and their code dump)
  • View the manifest of an app
  • Display app usage, data usage (mobile and wifi), and app storage info (requires “Usage Access” permission)
  • Install/uninstall APK files (including APKS, APKM and XAPK with OBB files)
  • Share APK files
  • Back up/restore APK files
  • Batch operations
  • One-click operations
  • Logcat viewer
  • Profiles (including presets for quick debloating)
  • Open app in Aurora Store or in your favourite F-Droid client
  • Sign APK files with custom signatures before installing
  • Backup encryption: OpenPGP via OpenKeychain, RSA (hybrid encryption with AES) and AES.

Root/ADB-only features

  • Revoke runtime (AKA dangerous) and development permissions
  • Change mode of any app op
  • Display/kill/force-stop running apps or processes
  • Clear app data or app cache
  • View/change net policy
  • Control battery optimization

Root-only features

  • Block any activities, broadcast receivers, services, or providers of an app with native import/export as well as Watt and Blocker import support
  • View/edit/delete shared preferences of any app
  • Back up/restore apps with data, rules and extras (such as permissions, battery optimization, SSAID, etc.)
  • View system configurations including blacklisted or whitelisted apps, permissions, etc.
  • View/change SSAID

…and many more! This single app combines the features of 5 or 6 apps any tech-savvy person needs!

Upcoming features

  • APK editing
  • Routine operations
  • Backup encryption: Elliptive-curve cryptography (ECC)
  • Finder: Find app components, permissions etc. in all apps
  • Enable/disable app actions such as launch on boot
  • Panic responder for Ripple
  • Crash monitor
  • Systemless disable/uninstall of system apps
  • Import/export app list
  • Terminal emulator
  • Database viewer and editor, etc.

Get it on F-Droid Get it on IzzyOnDroid

Translations

Help translate the app strings and the docs at Hosted Weblate.

Translation status

Mirrors

GitLab · Riseup · Codeberg

Screenshots

Dark

Light

Build Instructions

See BUILDING.rst

Contributing

See CONTRIBUTING.rst

Donation and Funding

App Manager doesn't support any donations directly. However, if you like my projects (App Manager being one of them), you can buy me a coffee by sending an anonymous donation to one of the following Bitcoin addresses:

33TDkWVv5EgwfKGJk7YaS2Ev1CBzBP9Sav
38bzvWDD99dJhXg9tC4yQEnGdnAKPtwSXG
3FHTxPoYa92dNJK6pkhwyVkMG8Vv3VpGpg

By sending me BTC, you agree that you will not share the transaction info in public i.e. the transaction will remain anonymous, nor will you use it as a leverage to prioritise your requested features. I accept feature requests without any donations, and they are prioritised according to my preferences.

You can also donate me using Open Collective: https://opencollective.com/muntashir

App Manager is open for funding/grants. If you are an organisation interested in funding it you can contact me directly at muntashirakon [at] riseup [dot] net (FINGERPRINT: 7bad37c2981e41f8f6abea7f58f0b4f26c346fce).

Credits and Libraries

A list of credits and libraries are available in the About section of the app.

Comments
  • Relicense project under AGPL3+

    Relicense project under AGPL3+

    We want people to use code from App Manager (it's increasing becoming the biggest source of technologies hardly found any other OSS) and I've received emails from various authors for permission to use the GPL3+ licensed code. The greatest loophole of GPL3+ is that the developers who modifies our code are not required to contribute to the original software — which is bad for the future of App Manager as a free (as in libre) software. So, I like to nip these loopholes in the bud by relicensing the project under AGPL3+ license.

    But before doing so, I would like to take comments from the contributors and the community.

    Discussion 
    opened by MuntashirAkon 43
  • Changing the app name

    Changing the app name

    We're now hitting a major release (v2.6.0). This is going to be the first long term supported release, i.e. this will be the first version of app manager to receive patches until the next stable release is made.

    App Manager is something I made for myself and never really thought that it would reach so much audiences. Now, I can feel that there are many people like me who were waiting for an app that would help them replace privacy invading, non-free apps as well as help those who're suffering from the guilt of using cracked software. The development of App Manager was so fast because I've spent a lot of time analysing other not-so-usable and, often abandoned projects which has given me insights on how to implement such features. I'm also working very hard to ensure security of the data because a rooting app itself is never fully secured (and you're welcome to find any security issues!).

    Therefore, it's time to change the name of the app to something special so that it can be uniquely identified (the package name will still be the same though and the old repository will be redirected to the new one).

    The best name will be chosen based on the apps functions and/or creativity, and the person will be credited in the about section!

    Here are a few names that was proposed by one of the contributors:

    • Great Manager
    • Good Manager
    • Deep Manager
    • Endless
    • Endless Manager
    • Extreme Manager
    • Ex Manager
    • Xtreme Manager
    • X Manager
    • Manager X
    Help Wanted Discussion 
    opened by MuntashirAkon 43
  • Backing up external data is corrupted

    Backing up external data is corrupted

    App Name: Mobile Legends AM version: 1322 Backup Volume: ExtSDCard Log:

    E/BackupOp: Failed to backup data directory at /storage/emulated/0/Android/data/com.mobile.legends
    io.github.muntashirakon.AppManager.backup.BackupException: Failed to backup data directory at /storage/emulated/0/Android/data/com.mobile.legends
    	at io.github.muntashirakon.AppManager.backup.BackupOp.backupData(BackupOp.java:258)
    	at io.github.muntashirakon.AppManager.backup.BackupOp.runBackup(BackupOp.java:163)
    	at io.github.muntashirakon.AppManager.backup.BackupManager.backup(BackupManager.java:90)
    	at io.github.muntashirakon.AppManager.batchops.BatchOpsManager.lambda$opBackupRestore$0$BatchOpsManager(BatchOpsManager.java:269)
    	at io.github.muntashirakon.AppManager.batchops.-$$Lambda$BatchOpsManager$fRbL-cOU1e30grqu_qUYfkugpEc.run(Unknown Source:10)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    	at java.lang.Thread.run(Thread.java:919)
    Caused by: java.io.IOException: java.io.FileNotFoundException: /storage/C97F-1415/AppManager/.tmp/backup_1623079911633/data2.tar.gz.0: open failed: EACCES (Permission denied)
    	at io.github.muntashirakon.io.SplitOutputStream.checkCurrentStream(SplitOutputStream.java:97)
    	at io.github.muntashirakon.io.SplitOutputStream.write(SplitOutputStream.java:65)
    	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    	at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
    	at org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream.close(GzipCompressorOutputStream.java:196)
    	at io.github.muntashirakon.AppManager.utils.TarUtils.create(TarUtils.java:117)
    	at io.github.muntashirakon.AppManager.backup.BackupOp.backupData(BackupOp.java:254)
    	... 9 more
    	Suppressed: java.io.IOException: java.io.FileNotFoundException: /storage/C97F-1415/AppManager/.tmp/backup_1623079911633/data2.tar.gz.0: open failed: EACCES (Permission denied)
    		at io.github.muntashirakon.io.SplitOutputStream.checkCurrentStream(SplitOutputStream.java:97)
    		at io.github.muntashirakon.io.SplitOutputStream.write(SplitOutputStream.java:65)
    		at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    		at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    		at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
    		at io.github.muntashirakon.AppManager.utils.TarUtils.create(TarUtils.java:78)
    		... 10 more
    	Caused by: java.io.FileNotFoundException: /storage/C97F-1415/AppManager/.tmp/backup_1623079911633/data2.tar.gz.0: open failed: EACCES (Permission denied)
    		at libcore.io.IoBridge.open(IoBridge.java:496)
    		at java.io.FileOutputStream.<init>(FileOutputStream.java:235)
    		at java.io.FileOutputStream.<init>(FileOutputStream.java:186)
    		at io.github.muntashirakon.io.ProxyOutputStream.<init>(ProxyOutputStream.java:31)
    		at io.github.muntashirakon.io.SplitOutputStream.checkCurrentStream(SplitOutputStream.java:93)
    		... 15 more
    	Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
    		at libcore.io.Linux.open(Native Method)
    		at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
    		at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252)
    		at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
    		at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7256)
    		at libcore.io.IoBridge.open(IoBridge.java:482)
    		... 19 more
    Caused by: java.io.FileNotFoundException: /storage/C97F-1415/AppManager/.tmp/backup_1623079911633/data2.tar.gz.0: open failed: EACCES (Permission denied)
    	at libcore.io.IoBridge.open(IoBridge.java:496)
    	at java.io.FileOutputStream.<init>(FileOutputStream.java:235)
    	at java.io.FileOutputStream.<init>(FileOutputStream.java:186)
    	at io.github.muntashirakon.io.ProxyOutputStream.<init>(ProxyOutputStream.java:31)
    	at io.github.muntashirakon.io.SplitOutputStream.checkCurrentStream(SplitOutputStream.java:93)
    	... 16 more
    Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
    	at libcore.io.Linux.open(Native Method)
    	at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
    	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252)
    	at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
    	at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7256)
    	at libcore.io.IoBridge.open(IoBridge.java:482)
    	... 20 more
    
    
    Bug Severity: 0 Priority: 0 Feature: Backup Investigation Needed Status: Accepted 
    opened by Cyberavater 42
  • App list is not complete

    App list is not complete

    Note: it seems to be the same as #140. Most of the following is copied from that issue.

    Describe the bug On the main menu (where the installed apps are listed) there are certain apps that I can't find. One such app is the Reddit client named Boost (com.rubenmayayo.reddit).

    To Reproduce Steps to reproduce the behaviour:

    1. Install the Boost app
    2. Open App Manager
    3. Scroll to the apps that start with the letter B, or search for Boost
    4. The mentioned app is not there

    Expected behavior The app should be listed there

    Device info

    • Device: Xiaomi Redmi 3S
    • OS Version: MIUI 8, Android 6 (SDK23)
    • App Manager Version: 2.5.23-PRE (381) and also 2.5.24-DEBUG (382)
    • Mode: root in pre-release, no-root in debug

    Additional context It seems like the same apps are missing as in the mentioned issue, so it's probably the same problem. Also, I noticed that if I search for "simple", the ordering is now a bit different than here: Simple is listed earlier than Simple System Monitor, probably because it's shorter. Not sure if it's intentional, just wanted to mention.

    Bug Severity: 3 Priority: 3 
    opened by MPeti1 40
  • App list is not complete

    App list is not complete

    Describe the bug On the main menu (where the installed apps are listed) there are certain apps that I can't find. One such app is the Reddit client named Boost (com.rubenmayayo.reddit).

    To Reproduce Steps to reproduce the behaviour:

    1. Install the Boost app
    2. Open App Manager
    3. Scroll to the apps that start with the letter B, or search for Boost
    4. The mentioned app is not there

    Expected behavior The app should be listed there

    Screenshots Please click on the images to enlarge them

    Settings app info page of Boost | Boost not found by App Manager | Boost not found by Skit | Boost found by Titanium Backup | Boost's about page :-------------------------------------:|:----------------------------------------:|:---------------------------:|:-----------------------------------------:|:-----------------------: photo_2020-11-01_16-34-46 | photo_2020-11-01_16-35-13 | photo_2020-11-01_16-35-01 | photo_2020-11-01_16-35-17 | photo_2020-11-01_16-35-21

    Crash logs There weren't any, but previously I had, 2 versions earlier. When I tried changing the theme to dark or battery mode, after I reopened the app it was crashing. It had found a limited list of apps, and it crashed with an exception signaling that the Pacakge Manager service died, which I haven't seen earlier. I'm a new user, and I came on that version, so whatever was it, it might haven't been introduced on that version.

    Device info

    • Device: Xiaomi Redmi 3S
    • OS Version: MIUI 8
    • App Manager Version: 25.5.17 (368)
    • Mode: no-root

    Additional context As you can see in the screenshots, there are other app managers too that won't list Boost, but it varies. Like, there are one named MyAPK (com.andatsoft.myapk.fwa), which sees it, but Skit doesn't

    Also, keep up the good work! I like your app manager very much, and the new Scanner feature is very good, I like it! Did you think about making that part to be a library? Earlier I was thinking about making an app, that either works as an Xposed module, or by modifying the apks, that would disable libraries (mostly tracking ones) or straight out remove them, or at least part of them, but I haven't gotten to making it, mostly because I haven't known of a way to identify libraries

    Bug Good First Issue Priority: 1 Severity: 0 
    opened by MPeti1 37
  • App Ops tab is empty on some devices

    App Ops tab is empty on some devices

    Hi, thank you once again for this amazing app! truly appreciated! What happened: Just tried to setup app ops, but I cannot see any values. What I tried: Although I have root, and given root to app manager, I tried manually granting perms: pm grant io.github.muntashirakon.AppManager android.permission.GET_APP_OPS_STATS. Result:

    Security exception: Package io.github.muntashirakon.AppManager has not requested permission android.permission.GET_APP_OPS_STATS
    
    java.lang.SecurityException: Package io.github.muntashirakon.AppManager has not requested permission android.permission.GET_APP_OPS_STATS
            at com.android.server.pm.permission.BasePermission.enforceDeclaredUsedAndRuntimeOrDevelopment(BasePermission.java:379)
            at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:1448)
            at com.android.server.pm.permission.PermissionManagerService.access$900(PermissionManagerService.java:91)
            at com.android.server.pm.permission.PermissionManagerService$PermissionManagerInternalImpl.grantRuntimePermission(PermissionManagerService.java:2145)
            at com.android.server.pm.PackageManagerService.grantRuntimePermission(PackageManagerService.java:6000)
            at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:1735)
            at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:222)
            at android.os.ShellCommand.exec(ShellCommand.java:103)
            at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:22574)
            at android.os.Binder.shellCommand(Binder.java:655)
            at android.os.Binder.onTransact(Binder.java:553)
            at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2836)
            at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4303)
            at android.os.Binder.execTransact(Binder.java:752)
    

    Device: OnePlus 5T, Oxygen OS (Android 9/Pie), rooted (Magisk), selinux permissive.

    Thank you.

    Bug Feature 
    opened by nerd190 37
  • Allow restoring backups made by third-party apps

    Allow restoring backups made by third-party apps

    OAndBackup was the best open source backup manager for Android and used by many people (including myself). Since I have older backups (and many others might as well), I find it necessary to support restoring backups made by OAndBackup backups. (Unfortunately, we can't support OAndBackupX since it is not yet stable.)

    Although I don't like closed source apps, Titanium Backup is a widely used app, even by those who dislike closed source apps. So, to promote open source software in lieu of the closed source ones, I've decided to support restoring backups from Titanium Backup too. But this requires further investigation as I've never used it in my life.

    Checklist:

    • [x] OAndBackup
    • [x] Titanium Backup
    • [x] Swift Backup
    • [ ] 3C Toolbox / 3C App Manager
    Feature Priority: 3 Feature: Backup 
    opened by MuntashirAkon 36
  • GalaxyS9+ don't start after using of global component blocking in App Manager. Pls help!

    GalaxyS9+ don't start after using of global component blocking in App Manager. Pls help!

    HI Muntashir! Before all thank you very much for your fantastic app! IT"s very usefull! Hi friends!

    I have Samsung Galaxy S9+ 64Gb Exinos. Alexis ROM 2.6, last boatloader flashed with Odin:

    BL_G965FXXUFFUC6_CL21315605_QB39020729_REV01_user_low_ship.tar CP_G965FXXUFFUC6_CP18513641_CL21315605_QB39020729_REV01_user_low_ship.tar

    PC runnig with Windows x64.

    Today I made a big fault when I try to use App Manager's option without toread instruction and danger warning about this function.

    I'am not idiot, but I done this like an idiot cause on this moment I was very angry for all this f**king Google, Facebook and Samsung trackers and other spy options inside phone.

    So, I gone to this folder: global component blocking, than searched and found all the components of Facebook and block it and than swiched on search even between the system components everything with name Samsung and pressed like an donkey the button to block all this components. The list was very very very long. Oh my God! Why I made it!???? So.

    Ofcause after this stupid manipulations, all icons and the main screen stopped to responding on my screen. No any answer for to press action. Just the up menu worked at this moment.

    An error message occurred about stopping the OneUI application on the main page.

    After restart of my device I seen just the first blocked main screen with clock and 2 buttons for camera and to call. But no reaction for anything more. Further nothing worked.

    Then I had an idea to upgrade the my old firmware from AlexisROM 2.3 to AlexisROM 2.6 with the replacement of the botloader. I flashed it using Durty flash with succes and I had a hope that it will help me to reactivate all blocked components (facebook and samsung) and to start my device for to do backup of all my passwords and notes.

    Yes, I know that that I had to do it in advance, before but the memory of my micro SD card was full. So i thought to do it later and... you see I made an mistake before to actually to do this backup in TWRP.

    Yes. I'am booby!!! Why? Why I pushed it!? Oh my God!

    Than I try to do an restore of just system map from TWRP from my old buckup without my last passwords and last notes. But without any succes. I seen just the boot loop. I understand that with a new ROM 2.6 everything changed but than I gone to do everything like before, like on the moment of ROM 2.3 (cause I made an broken ROM copie with Alexis ROM 2.3 with blocked Samsung components). So no I have flashed Alexis ROM 2.6 and my device start (1-2 minutes) with samsung logo and that can't start with a first wallpaper screen.

    So, no I have the follow situation: My device try to run with a new durty flashed system with the latest boatloder from Alexis but after 2 attempts to start it, he goes automatically to restart and goes to TWRP mode.

    So I can't start as before.

    I need to take all my passwords from passwords app and all my notes from Samsung Note app. but I can't!

    I can to connect my devce via ADB via TCP but I don't know what to do after this last command: "Finally, run the following command to enable ADB over TCP:" "./adb tcpip 5555"

    I see an answer message in Window PowerShell:

    PC C:\adb\platform-tools> ./adb devices

    • daemon not running; starting now at tcp:5037
    • daemon started successfully List of devices attached 1234b5678c901ece recovery

    What can I do for to de block all blocked samsung components? Do you know something like SafeMode ROM for to dirty flash into divices like in my situation?

    Please help me somebody!

    Developer options is enabled.

    ADB via TCP works. Is it may be possible to uncheck all blocked in App Manager fk**ing samsung components via TCP commands?

    Divice can start but can't go to the first screen with asking of password for to unlock him.

    I can seen internal storage of disc with all maps but map Note is empty and Password app like all other apps I can't see from my window. Pls see the picture in attach.

    Help Wanted 
    opened by GalaxyS9plus 34
  • AppManager works with Magisk but not with Phh SuperUser

    AppManager works with Magisk but not with Phh SuperUser

    • [x] I know what my device, OS and App Manager versions are
    • [x] I know how to take logs
    • [x] I know how to reproduce the issue which may not be specific to my device

    Describe the bug AppManager does not work in root mode with Phh SuperUser

    To Reproduce Steps to reproduce the behaviour:

    1. Install AM
    2. Make sure Phh SuperUser is enabled
    3. Open AM, grant root access
    4. It keeps showing "Initializing…" for a long time
    5. Sometimes it crashes, others it shows an empty list, others it shows only backed-up app, and a few times it offers to open in non-root mode

    Expected behavior AM should open in root mode and display installed apps

    Screenshots N/A

    Crash logs Filtering logcat for "appmanager" does not seem to show an error most of the time, but once I caught this:

    10-22 18:12:53.627   981   981 E WifiHAL : enter wifi_get_link_stats
    10-22 18:12:56.157  1561  9129 E ActivityManager: Sending non-protected broadcast io.github.muntashirakon.AppManager.action.SERVER_STOPED from system uid 0 pkg null
    10-22 18:12:56.157  1561  9129 E ActivityManager: java.lang.Throwable
    10-22 18:12:56.157  1561  9129 E ActivityManager: 	at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:15941)
    10-22 18:12:56.157  1561  9129 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:16618)
    10-22 18:12:56.157  1561  9129 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:15954)
    10-22 18:12:56.157  1561  9129 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntentWithFeature(ActivityManagerService.java:16774)
    10-22 18:12:56.157  1561  9129 E ActivityManager: 	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2294)
    10-22 18:12:56.157  1561  9129 E ActivityManager: 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2888)
    10-22 18:12:56.157  1561  9129 E ActivityManager: 	at android.os.Binder.execTransactInternal(Binder.java:1154)
    10-22 18:12:56.157  1561  9129 E ActivityManager: 	at android.os.Binder.execTransact(Binder.java:1123)
    10-22 18:12:56.161  1561  1585 I DropBoxManagerService: add tag=system_server_wtf isTagEnabled=true flags=0x2
    

    Device info

    • Device: Huawei FIG-LX1
    • OS Version: Android 11 (cdDRom11, based on Phhusson Treble GSI)
    • App Manager Version: 2.6.4
    • Mode: root/adb/no-root, problem happens in auto or root mode, of course

    Additional context I was using AppManager with Magisk v23.0 without issues, but I had to remove it because an app I use started to complain about it being installed. Other apps seem to work fine with the built-in Phh SuperUser, but not AppManager. I tried to uninstall and install the app again, allow all permissions in settings, but it still refuses to work in root mode. Please feel free to ask for more logs. Thank you for making AppManager.

    Bug Severity: 3 Priority: 3 Third-party Issue 
    opened by lfom 31
  • AM fails to restored a backup

    AM fails to restored a backup

    make a backup successfully of an app "anime world", then tried to restore, Am said falied to restore, go to the launcher the app is installed but unusable.

    step to reproduce the bug: make a backup of any app try to restore, restore falied

    the expected behavior: restore the app successfully, and the app works normally

    Log from AM:

    05-30 21:34:53.633 W/ContextImpl(27959): Failed to ensure /data/user/0/com.animeworld.app_pro2/cache: mkdir failed: EACCES (Permission denied)
    05-30 21:34:53.649 I/DefaultProvider(27959): onCreate; originalPackageName: com.animeworld.app_pro2
    05-30 21:34:53.650 W/ContextImpl(27959): Failed to ensure /data/user/0/com.animeworld.app_pro2/files: mkdir failed: EACCES (Permission denied)
    05-30 21:34:53.651 W/ContextImpl(27959): Failed to ensure /data/user/0/com.animeworld.app_pro2/shared_prefs: mkdir failed: EACCES (Permission denied)
    05-30 21:34:53.674 W/CloneSettings(27959): java.io.FileNotFoundException: /data/user/0/com.animeworld.app_pro2/files/cloneSettings.json: open failed: ENOENT (No such file or directory)
    05-30 21:34:53.676 W/ContextImpl(27959): Failed to ensure /data/user/0/com.animeworld.app_pro2/cache: mkdir failed: EACCES (Permission denied)
    05-30 21:34:53.691 I/Signatures(27959): init; packageName: com.animeworld.app_pro2, uid: 10248, originalPackageName: com.animeworld.app_pro2, originalUid: 10248, originalSignatures:
    05-30 21:34:53.836 E/AndroidRuntime(27959): Process: com.animeworld.app_pro2, PID: 27959
    05-30 21:34:53.836 E/AndroidRuntime(27959): android.database.sqlite.SQLiteCantOpenDatabaseException: Cannot open database '/data/user/0/com.animeworld.app_pro2/databases/androidx.work.workdb': Directory /data/user/0/com.animeworld.app_pro2/databases doesn't exist
    
    Bug Priority: 3 Severity: 0 Feature: Backup 
    opened by Mtkmanjaro 30
  • Android 12 Beta 1 crashes

    Android 12 Beta 1 crashes

    • [x] I know what my device, OS and App Manager versions are
    • [x] I know how to take logs
    • [x] I know how to reproduce the issue which may not be specific to my device

    The app crashes on Android 12 Beta 1 when pressing any of the following tabs: User Permissions, Permissions,Uses Features.

    Device Info: App version: 2.6.0 App version code: 385 Android build version: 7333779 Android release version: 11 Android SDK version: 30 Android build ID: SPB1.210331.013 Device brand: google Device manufacturer: Google Device name: sunfish Device model: Pixel 4a Device product name: sunfish Device hardware name: qcom ABIs: [arm64-v8a, armeabi-v7a, armeabi] ABIs (32bit): [armeabi-v7a, armeabi] ABIs (64bit): [arm64-v8a] System language: en-US In-App Language: auto Mode: auto

    Logs
    
    
    java.lang.NoClassDefFoundError: io.github.muntashirakon.AppManager.appops.AppOpsManager
        at io.github.muntashirakon.AppManager.details.AppDetailsFragment.permAppOp(AppDetailsFragment.java:614)
        at io.github.muntashirakon.AppManager.details.AppDetailsFragment.access$1300(AppDetailsFragment.java:110)
        at io.github.muntashirakon.AppManager.details.AppDetailsFragment$AppDetailsRecyclerAdapter.getPermissionsView(AppDetailsFragment.java:1438)
        at io.github.muntashirakon.AppManager.details.AppDetailsFragment$AppDetailsRecyclerAdapter.onBindViewHolder(AppDetailsFragment.java:849)
        at io.github.muntashirakon.AppManager.details.AppDetailsFragment$AppDetailsRecyclerAdapter.onBindViewHolder(AppDetailsFragment.java:618)
        at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7065)
        at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7107)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6012)
        at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6279)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
        at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
        at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
        at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1627)
        at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
        at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
        at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at androidx.appcompat.widget.LinearLayoutCompat.setChildFrame(LinearLayoutCompat.java:1655)
        at androidx.appcompat.widget.LinearLayoutCompat.layoutVertical(LinearLayoutCompat.java:1509)
        at androidx.appcompat.widget.LinearLayoutCompat.onLayout(LinearLayoutCompat.java:1417)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:688)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at androidx.viewpager.widget.ViewPager.onLayout(ViewPager.java:1775)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:148)
        at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43)
        at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:2003)
        at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:798)
        at android.view.View.layout(View.java:23055)
        at android.view.ViewGroup.layout(ViewGroup.java:6402)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3601)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3054)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2057)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8501)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1005)
        at android.view.Choreographer.doCallbacks(Choreographer.java:826)
        at android.view.Choreographer.doFrame(Choreographer.java:761)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:990)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7727)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
     Caused by: java.lang.ExceptionInInitializerError
       at io.github.muntashirakon.AppManager.appops.AppOpsManager.permissionToOpCode(AppOpsManager.java:1653)
       at io.github.muntashirakon.AppManager.details.AppDetailsViewModel.loadAppOps(AppDetailsViewModel.java:1039)
       at io.github.muntashirakon.AppManager.details.AppDetailsViewModel.lambda$l0EWUQ8pwSEwIOu4g2r5od7Q6Ks(Unknown Source:0)
       at io.github.muntashirakon.AppManager.details.-$$Lambda$AppDetailsViewModel$l0EWUQ8pwSEwIOu4g2r5od7Q6Ks.run(Unknown Source:2)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:920)
    
    Bug Severity: 3 Priority: 3 
    opened by nitanmarcel 28
  • Shortcut issues

    Shortcut issues

    Please check before submitting an issue

    • [X] I know what my device, OS and App Manager versions are
    • [X] I know how to take logs
    • [ ] I know how to reproduce the issue which may not be specific to my device

    Describe the bug

    1. Search for 'com.google.android.documentsui'
    2. Click on 'Activities'
    3. Create 'com.android.documentsui.files.FilesActivity' shortcut
    4. Edit shortcut icon section
    5. See error

    To Reproduce

    1. Search for 'com.google.android.documentsui'
    2. Click on 'Activities'
    3. Create 'com.android.documentsui.files.FilesActivity' shortcut
    4. Edit shortcut icon section
    5. See error

    Expected behavior

    No response

    Screenshots

    No response

    Logs

    android.content.res.Resources$NotFoundException: Resource ic_app_ico of type mipmap is not found in package com.google.android.documentsui at io.github.muntashirakon.AppManager.utils.ResourceUtil.getResourceFromName(ResourceUtil.java:61) at io.github.muntashirakon.AppManager.details.EditShortcutDialogFragment.getDrawable(EditShortcutDialogFragment.java:130) at io.github.muntashirakon.AppManager.details.EditShortcutDialogFragment$1.afterTextChanged(EditShortcutDialogFragment.java:81) at android.widget.TextView.sendAfterTextChanged(TextView.java:11911) at android.widget.TextView$ChangeWatcher.afterTextChanged(TextView.java:15283) at android.text.SpannableStringBuilder.sendAfterTextChanged(SpannableStringBuilder.java:1291) at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:591) at androidx.emoji2.text.SpannableBuilder.replace(SpannableBuilder.java:315) at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:232) at androidx.emoji2.text.SpannableBuilder.delete(SpannableBuilder.java:337) at androidx.emoji2.text.SpannableBuilder.delete(SpannableBuilder.java:49) at android.view.inputmethod.BaseInputConnection.deleteSurroundingText(BaseInputConnection.java:285) at android.view.inputmethod.InputConnectionWrapper.deleteSurroundingText(InputConnectionWrapper.java:145) at androidx.emoji2.viewsintegration.EmojiInputConnection.deleteSurroundingText(EmojiInputConnection.java:68) at com.android.internal.inputmethod.RemoteInputConnectionImpl.lambda$deleteSurroundingText$31$com-android-internal-inputmethod-RemoteInputConnectionImpl(RemoteInputConnectionImpl.java:851) at com.android.internal.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda23.run(Unknown Source:8) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8741) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

    Device Info: App version: 3.0.3 App version code: 414 Android build version: M526BRXXU1CVJ7 Android release version: 13 Android SDK version: 33

    Device brand: samsung Device manufacturer: samsung Device name: m52xq Device model: SM-M526BR Device product name: m52xqxx Device hardware name: qcom ABIs: [arm64-v8a, armeabi-v7a, armeabi] ABIs (32bit): [armeabi-v7a, armeabi] ABIs (64bit): [arm64-v8a] System language: en-US In-App Language: auto Mode: auto Inferred Mode: no_root

    Device info

    • Device: Galaxy M52
    • OS Version: Android 13
    • App Manager Version: 3.0.3 (F-Droid)
    • Mode: NonRoot

    Additional context

    Shortcuts created by the app are watermarked. It seems that the only solution is to create a separate widget for shortcuts, which selects the app so that there is no watermark.

    Bug 
    opened by soheilkhanalipur 2
  • Cannot clear cache with AM debug

    Cannot clear cache with AM debug

    I love using this app to clear app data,it so easy,but it cant clear cache Fix it pls

    More Info

    Device:Vsmart Android 11 Adb mode Version:lastest Am debug

    opened by Kimphunh 0
  • Hardware keyboard

    Hardware keyboard

    Please check before submitting an issue

    • [X] I know what my device, OS and App Manager versions are
    • [X] I know how to take logs
    • [X] I know how to reproduce the issue which may not be specific to my device

    Describe the bug

    Started from version 3.x.x. when using hardware keyboard (not shure how to explain) search field loses focus after each letter. So if I whant to type "appmanager" I have to

    To Reproduce

    click (tap) on a search field, press "A", click (tap) on a search field, press "P", click (tap) on a search field, press "P"......

    Expected behavior

    click on a search field, type "appmanager"

    Screenshots

    No response

    Logs

    No response

    Device info

    • Device: galaxy s10e
    • OS Version: 10-11-12
    • App Manager Version: 2.x.x, 3.x.x, 3.1.0-alpha0.2
    • Mode: Root

    Additional context

    in versions 2.x.x. all ok.

    Bug Status: Pending Investigation Needed 
    opened by 5A52 0
  • I am against having an expiry date for AppManager and this is my ideas for a better solution (maybe)

    I am against having an expiry date for AppManager and this is my ideas for a better solution (maybe)

    Please check before submitting an issue

    • [X] I am using the latest version of App Manager
    • [X] I have searched the issues and haven't found anything relevant
    • [X] I have read the docs

    Describe a description of the new feature

    I don't like having an expiry date for AppManager because in my threat model it doesn't provide a better security for me (and probably many others)

    Describe the solution you'd like

    I am prepared a comment about this matter that it isn't completely in a format that I fill this forms properly but I try my hardest.

    Probably it is better that I write is fully in alternative form below.

    Describe alternatives you've considered

    I think having an expiry date and specially forcing the user to remove the app isn't a great approach.

    Although I really pleased with the fact that you this much care about security of the users and am grateful for it.

    I like to say some use cases that the user probably won't get in danger of using an old version of AppManager.

    Because of not so much good English and because I want to my comment be as clear as possible, I will use numbers.

    1. Maybe a user just use AppManager in non-root mode that from what I think it doesn't possess real security risk.

    2. You, yourself already use or had used F-droid classic that hadn't updated for years so using an old version of an app as long as the user be careful or it be compatible with the threat model of the user won't possess the user to real danger.

    3. There are many other security issues that can expose user to risk than just AppManager like old android system webview and many more.

    4. (And maybe my main point):

    Probably many users because of some reasons may already use old versions of Android and old version of apps so just not being able to use AppManager in that case won't have any more security enhancement to user. Specially if they use it in non-root mode.

    Worse, some users may use molded apps (that is unfortunately common) and that fact is far more dangerous than using an old version of AppManager.

    1. Isn't it better that you make the AppManager to warn the user everytime after that expiry date ended and not force them to remove it?

    Or in addition to that you can also force user to just they can use non-root mode and can't use other modes.

    What do you think about my comment and the last alternative solution?

    BTW, Thank you for this great app. It is a real life saver.

    Best wishes.

    Additional context

    Also there is a possibility that someone fork AppManager and remove those limitations and many users go to that fork.

    The issue here can be two, one is bad and other is a disaster.

    1. That person may just remove expiry limit.

    2. That person may put suspicious code in the app and because AppManager gets powerful permissions in adb and root mode, that will be a disaster.

    Best wishes.

    Feature 
    opened by Rustlang4Future 9
  • Installer queue never processed

    Installer queue never processed

    Please check before submitting an issue

    • [X] I know what my device, OS and App Manager versions are
    • [X] I know how to take logs
    • [ ] I know how to reproduce the issue which may not be specific to my device

    Describe the bug

    The applications are apparently stack up at the installer queue and there is no way to check if it is indeed there, and what's causing the blockage.

    So I guess this ticket is more like 3-in-1:

    1. The main problem is described in "To reporduce"
    2. I think the explicit view of the installer queue would be a nice thing to have, so on can view all install requests, reorder, maybe collect debug info for the case when the queue is frozen (like I have). The thing is a background installer is very convenient when used with Aurora Store, which doesn't have it's own installer queue and it's easy to just lose an application on the way from downloading to installing an apk.
    3. Maybe update the docs to add more clear indication how the installer and the queue works

    To Reproduce

    1. I've done a number of successful installations from both Aurora and FDroid. Maybe one of the apps has failed and blocked the queue.
    2. I try to install another one (particularly, GadgetBridge from FDroid)
    3. The notification "An app is added to the queue" is appeared
    4. Install doesn't happen in the near ~15 mins

    Expected behavior

    The ideal case is that I can see the whole queue and applications are not lost

    Screenshots

    No response

    Logs

    Honestly, I see nothing there, but I may try to collect it again

    Device info

    • Device: Pixel 7 Pro
    • OS Version: Latest GrapheneOS
    • App Manager Version: 3.0.3
    • Mode: Root/ADB/NonRoot: ADB wireless, but I think I've seen it in NonRoot mode as well

    Additional context

    No response

    Bug Status: Pending More Info Needed 
    opened by Omrigan 2
  • App update (likely) caused disabled feature (Interceptor) to be re-enabled (checkbox still disabled)

    App update (likely) caused disabled feature (Interceptor) to be re-enabled (checkbox still disabled)

    Please check before submitting an issue

    • [X] I know what my device, OS and App Manager versions are
    • [X] I know how to take logs
    • [X] I know how to reproduce the issue which may not be specific to my device

    Describe the bug

    I disabled the App Interceptor feature while setting up the app. However, recently, I noticed that it started being offered again to intercept links.

    I simply toggled the checkbox on and then off again. Now the Interceptor isn't showing up.

    The most likely possibility that occurs to me is that a recent update caused the feature disablement to be reset, without affecting the checkbox state.

    To Reproduce

    Likely steps:

    1. Disable Interceptor.
    2. Update app. (not sure which version to update from, but probably 3.0.2.)
    3. Try an action it can intercept.

    Expected behavior

    The disabled feature should stay disabled after updates.

    Screenshots

    No response

    Logs

    No response

    Device info

    • Device: Mi 5
    • OS Version: LOS 19.1
    • App Manager Version: ? to 3.0.3
    • Mode: Root

    Additional context

    No response

    Bug Priority: 5 
    opened by opusforlife2 0
Releases(v3.1.0-alpha02)
  • v3.1.0-alpha02(Dec 3, 2022)

    New features

    • Added support for v3.1 signing scheme
    • Export APKS using the new APKS specification. This is still in pre-alpha stage.
    • New language: Romanian
    • Replaced enable/disable with freeze/unfreeze Freeze/unfreeze can be customised to disable, suspend or hide the applications instead of only disabling it. The colour codes used for disabling is used for freezing.
    • Added freeze/unfreeze toggle shortcut in the App Info tab Long clicking on the freeze or unfreeze buttons in the App Info tab opens a dialog where how the shortcut shall work apart from freezing/unfreezing can be configured. If a shortcut already exists, the existing shortcut shall be updated. It offers the following options: 1. Open application after unfreezing it 2. Open application (requires 1 to be enabled) but without an entry in Recents 3. Refreeze the application when the phone is locked.

    Backup

    • Backup metadata version updated to 4
    • Use 128 bit tag size for AES encryption
    • Fixed encryption/decryption for AES 128
    • Fixed a crash if no backup is selected but restore is clicked
    • Fixed an issue with saving the PGP encrypted files
    • Fixed crashing if a storage media does not have a label

    App Details page

    • Display invalid native libraries in the Shared libs tab
    • Replaced block/unblock button with material switch
    • Display failure message instead of crashing if a service cannot be launched from the Services tab
    • Fixed a crash on specifying an invalid icon resource in the edit shortcut dialog
    • Fixed crashes in the Shared Libs tab
    • Fixed shortcut creation issues in some launchers
    • Prevented a crash in the ADB mode which used to occur on attempting to fetch application data size

    Installer page

    • Ensured all the installation confirmation notifications are different in no-root mode
    • Fixed a rare crash used to occur due to the accidental closing of the installer page

    Main page

    • Fixed sorting when a profile is selected in the list options
    • Fixed displaying backup volume unavailable messages when /sdcard/AppManager was inaccessible or unavailable

    Running Apps page

    • Added searching by package name
    • Enabled advanced searching
    • Fixed double scrollbars
    • Fixed crashes in no-root mode while checking for RUN_IN_BACKGROUND

    UI

    • Migrated to Material 3-style preferences
    • Prevented closing multi-selection panel after starting an operation
    • Replaced MD2 (Material Design 2) switches with M3 (Material 3) switches
    • Fixed icon theming issues in Android 12
    • Fixed loading dynamic colours in the splash screen
    • Fixed applying the pure black theme on some devices

    Others

    • Check whether Binder transaction is supported in root mode before initiating a connection Certain superuser implementations did not enable communications through Binder (that, is binder transactions) from user applications. A check has been added to ensure that the currently used superuser supports such communications before attempting to create a remote service.
    • Display inferred mode of operation in the crash logs
    • Handle multiple users including work profile in no-root mode Apps in the work profile can be opened in the App Details page. They can also be launched, uninstalled, and the corresponding settings page can also be opened in no-root mode.
    • Fall back to ADB if root mode is not supported If App Manager cannot connect using root, root itself is used to start ADB over TCP and connect to it. This is also useful for certain rooting solutions which do not support Binder transactions.
    • Fall back to root mode while reading the APK file Some applications erroneously provide private files that aren't accessible to any installer other than the system ones. Therefore, root mode is used to read those files if available.
    • Handled the Internet permission in Graphene OS
    • Removed dark theme hacks for the WebView in the help page
    • Replaced SLF4J dependency with Android compatible classes
    • Updated trackers and libraries
    • Prevented a nasty crash used to occur when an activity is needed to be recreated
    • [Profile page] Fixed crashes in the log viewer tab
    • [Scanner page] Fixed a rare crash used to occur when the activity is accidentally closed

    Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v3.1.0-alpha01...v3.1.0-alpha02

    Source code(tar.gz)
    Source code(zip)
    AppManager_v3.1.0-alpha02.apk(14.94 MB)
    AppManager_v3.1.0-alpha02.apks(12.53 MB)
  • v3.0.3(Oct 25, 2022)

  • v3.0.2(Sep 20, 2022)

    This release contains a number of bug fixes.

    • Removed dark theme hacks for the WebView in the help page
    • Fixed loading dynamic colours in the splash screen (#769)
    • Fixed shortcut creation issues in some launchers (#627)
    • Prevented a crash in the ADB mode which used to occur on attempting to fetch application data size
    • Prevented a nasty crash used to occur when an activity is needed to be recreated (#656).

    Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v3.0.1...v3.0.2

    Source code(tar.gz)
    Source code(zip)
    AppManager_v3.0.2.apk(14.25 MB)
    AppManager_v3.0.2.apks(11.94 MB)
  • v3.0.1(Sep 5, 2022)

    • Display inferred mode of operation in the crash logs
    • Handled the Internet permission in GrapheneOS
    • Prevented closing multi-selection panel after starting an operation
    • Replaced MD2 (Material Design 2) switches with M3 (Material 3) switches
    • Fixed icon theming issues in Android 12
    • [App Details page] Display failure message instead of crashing if a service cannot be launched from the Services tab
    • [App Details page] Fixed crashes in the Shared Libs tab
    • [Installer] Fixed a rare crash used to occur due to the accidental closing of the installer page
    • [Main page] Fixed sorting when a profile is selected in the list options
    • [Main page] Fixed displaying backup volume unavailable messages when /sdcard/AppManager was inaccessible or unavailable
    • [Profile page] Fixed crashes in the log viewer tab
    • [Running Apps page] Fixed double scrollbars
    • [Running Apps page] Fixed crashes in no-root mode while checking for RUN_IN_BACKGROUND
    • [Scanner page] Fixed a rare crash used to occur when the activity is accidentally closed

    Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v3.0.0...v3.0.1

    Source code(tar.gz)
    Source code(zip)
    AppManager_v3.0.1.apk(14.24 MB)
    AppManager_v3.0.1.apks(11.94 MB)
  • v3.1.0-alpha01(Aug 4, 2022)

    • [Main] Added option to sort the app list by size

      The loading time has been increased by a few seconds which will be fixed in a later build

    • [Main] Added support for market://search?q=query

    • [Backup/restore] Added support for elliptic-curve cryptography (ECC)

      ECC in App Manager uses curve 25519 with ECDH which is wrapped with SHA512withECDSA when storing the key in the Bouncy Castle KeyStore.

    • [Activity Interceptor] Added option to copy as am command

      am (short for activity manager) or cmd activity (Android 9 and later) can be used to start an activity from the terminal. This option let user copy the Intent as an am command so that the same Intent can be invoked in the terminal. But not all extras are supported, only the supported extras are copied during the operation.

    • [Setting] Added option to disable opening App Info page from the third-party applications

    • [Installer] Removed default signing key

      Default signing key was publicly available and could have be used by others to distribute malware. Instead, enabling APK signing before installing an app now requires a signing key to be added (which can be either generated or imported).

    • [Running Apps] Fixed double scrollbars

    Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/v3.0.0...v3.1.0-alpha01

    Source code(tar.gz)
    Source code(zip)
    AppManager_v3.1.0-alpha01.apk(14.43 MB)
    AppManager_v3.1.0-alpha01.apks(12.16 MB)
  • v3.0.0(Aug 3, 2022)

    App Manager v3.0.0 comes with a lot of features and improvements. See Settings > Changelog for a more detailed changelog.

    Material 3 and More

    Material 3, somewhat similar to Material You, is a significant improvement over Material Design 2 with support for dynamic colours in Android 12 and later. In addition, many design changes have been made in App Manager without any significant changes in the overall user experience.

    Known issue Switches are still based on Material Design 2 which will be fixed in a future release.

    Wireless Debugging

    Wireless debugging support has been fully implemented. Head over to the docs for instructions on how to configure wireless debugging.

    No-root users. Due to auto-detection feature, startup time might be large for no-root users when the mode of operation is set to auto. Instead, no-root users should select no-root instead of auto.

    Languages

    App Manager is fully translated into Indonesian and Italian languages and can be enabled in settings. Bengali is removed due to lack of translators.

    Introducing App Explorer

    App Explorer can be used to browse the contents of an application. This includes binary XML files, DEX contents or any other media files. DEX contents can only be explored in Android Oreo (Android 8) and later. It's also possible to convert an .smali file into .java for a better understanding of the reversed code. This feature, if not needed, can be disabled in Settings > Enable/disable features.

    Import Backups from Other Applications

    It is possible to import backups from discontinued or obsolete applications such as Titanium Backup, OAndBackup and Swift Backup (version 3.0 to 3.2). Go to Setting > Backup/restore to find this option.

    VirusTotal

    VirusTotal is a widely used tool to scan files and URLs for viruses. In the scanner page and in the running apps page, an option to scan files with VirusTotal has been added. But the option is hidden by default. To enable the option, it is necessary to obtain an API key from VirusTotal. Go to Settings > VirusTotal API Key for more information.

    Internet feature! This is currently the only feature which require an Internet connection. If you wish to use any Internet feature that might also be added in the future, enable Use the Internet in Settings > Enable/disable features.

    Trigger Profiles from the Automation Software

    As the implementation of routine operations is being delayed, an option to trigger profiles from the external automation software is added. Visit docs for instructions on how to configure profile automation.

    Improved Application Installer

    Application installer includes several improvements including the ability to downgrade applications in no-root mode, installing multiple applications at once and blocking trackers after installation. In Android 12 and later, no-root users can update applications without any user interactions.

    Component Blocking

    It is now possible to configure how App Manager should block a component. Visit Settings > Rules > Default blocking method for more information. In the components tab, long clicking the block/unblock button opens a context menu which allows per-component blocking in a similar manner. ADB users can also block the components of a Test only app.

    Advanced Searching

    In some pages, the search bar supports additional searching which includes searching via prefix, suffix or even regular expressions. In the main page, it is also possible to search for applications using the first letters of each word, e.g. App Manager can be listed by searching for am.

    Shared Libraries

    Shared libraries tab has received a significant improvements. It can display three types of libraries, such as native, jar and APK files.

    Make the Best Use of Interceptor

    Activity interceptor can be opened directly from the activities tab by long clicking on the launch button, and similarly, activities can be launched from the activity interceptor page with or without root, for any users.

    Notice. Currently, activities opened via root cannot send the results back to the original applications.

    Widget: Screen Time

    Screen time widget is quite similar to Digital Wellbeing's widget by the same name. It displays the total screen time for the day along with the top three apps from all users.

    Widget: Clear Cache

    Clear cache widget can be to clear cache from all the applications directly from the home screen.

    Full Changelog: https://github.com/MuntashirAkon/AppManager/compare/c504b30...v3.0.0

    Source code(tar.gz)
    Source code(zip)
    AppManager_v3.0.0.apk(14.11 MB)
    AppManager_v3.0.0.apks(11.85 MB)
  • v3.0.0-rc04(Jul 9, 2022)

  • v3.0.0-rc03(Jun 15, 2022)

  • v3.0.0-rc02(May 27, 2022)

  • v3.0.0-rc01(May 15, 2022)

  • v3.0.0-alpha03(May 6, 2022)

  • v3.0.0-alpha02(Apr 2, 2022)

  • v3.0.0-alpha01(Feb 13, 2022)

  • v2.6.5.1(Dec 4, 2021)

    This update provides fixes for a few critical errors or crashes happened due to porting issues in v2.6.5.

    • [App Details] Fixed crash on clicking on the scanner button.
    • [Installer] Display detailed error or status message after trying to install the app (if available).
    • [Installer] Fixed crash if the installer activity is closed forcefully with an on-going foreground installation.
    • [Manifest Viewer] Fixed crash on opening any APK files.
    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.6.5.1.apk(7.87 MB)
    AppManager_v2.6.5.1.apks(6.04 MB)
  • v2.6.5(Nov 29, 2021)

    This patch release contains new features as well as several bug fixes for Android 12.

    • [1-Click Ops] Fixed displaying apps from other users.
    • [App Details] Enabled advanced options for disabling components in the components tabs. The options will be displayed if you long click on the block/unblock button.
    • [App Details] Fixed displaying the details of an app without a valid signature.
    • [App Usage] Display usage for all the configured apps.
    • [Android 12] Fixed crash while installing apps.
    • [Android 12] Fixed displaying SSAID, app ops.
    • [Backup] Fixed crash if the backup filename contains colons.
    • [Device Info] Display user ID alongside user name.
    • [Help Page] Fixed crash if no WebView is available.
    • [Main] Replaced check boxes and radio buttons with chips in the list options.
    • [Profile] Fixed displaying apps from other users.
    • [Remote Server] Fixed crash if IPv6 addresses are disabled.
    • [Scanner] Detect native libraries and trackers.
    • [Scanner] Fixed scanning split APK files.
    • [Settings] Added an option to select default blocking method. Located at Settings > Rules > Default blocking method.

    Full list of changes: v2.6.4...v2.6.5

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.6.5.apk(7.87 MB)
    AppManager_v2.6.5.apks(6.04 MB)
  • v2.6.4(Sep 17, 2021)

    This patch release contains bug fixes and feature improvements for the app installer and activity interceptor. This also fixes the caching issues where the files were erroneously cached in the “files” directory instead of the “cache” directory.

    • [1-Click Ops] Added “trim caches from all apps” option
    • [Activity Interceptor] Added options to copy/paste intents, added fields to insert identifier (Android Q+), class and package name, allowed opening intent via root, added two new extra types: Array of URI and List of URI
    • [App Details] Enabled opening non-exported activity via Activity Interceptor (via root), included “View in Settings” as a horizontal button if root/ADB is not available, improved “running apps” dialog
    • [Docs] Open docs URL if Android WebView is unavailable
    • [Installer] Added support for installing multiple apps at the same time via the share option in any file manager, added option to block trackers after installing an app, enabled downgrading in no-root mode, improved loading dialog, displays app info icon when installation is completed
    • [Log Viewer] Fixed log recording widget and other crashes
    • [Locale] Fixed punctuation issues in French
    • [Main] Enabled running apps filter in non-root mode, fixed freezing issue,
    • [Running Apps] Fixed detecting running apps
    • [Scanner] Prevent deleting APK files which aren't cached in the scanner page, display a footnote for second degree trackers in tracker details dialog
    • [Settings] Sorted app list by the app label (or app name) in the app installer selection dialog, added option to run installer always in the background, added the option to limit the number of parallel operations (useful for low-end devices)

    Full list of changes: v2.6.3...v2.6.4

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.6.4.apk(7.81 MB)
    AppManager_v2.6.4.apks(6.01 MB)
  • v2.6.3(Aug 15, 2021)

    This patch release contains bug fixes for ADB mode and back up/restore.

    • [1-Click Ops] Fixed missing applications
    • [ADB] Eliminated the need for entering a KeyStore password. For the first time at startup or every time data is cleared from App Manager, a new Keystore password will be generated and the user will be asked to note down the password
    • [App Details] Display process name in the components tabs, fixed displaying duplicate permissions
    • [App Info] Display warning if App Manager is being disabled, fixed freezing on pressing refresh
    • [Backup] Fixed extracting tar files backed up before v2.5.23
    • [Batch Ops] Merged enable/disable apps and clear cache/data
    • [Installer] Added fallback method for checking signing keys and fixed various crashes
    • [Interceptor] Added camera actions
    • [Main] Cancel selection on pressing the back button if the selection mode is active
    • [Running Apps] Fixed displaying apps running in another processes, filtering issues and returning empty list on quick refresh
    • Added support for opening apps via ACTION_SEND i.e. file sharing
    • Fixed random crashes during and after app initialization
    • Fixed “select all” button behaviour to select only the currently filtered items instead of all items
    • Fixed day/night theming issues in various places

    Full list of changes: v2.6.2...v2.6.3

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.6.3.apk(7.79 MB)
    AppManager_v2.6.3.apks(6.00 MB)
  • v2.6.2(Jul 2, 2021)

    This patch release contains critical bug fixes for the back up/restore feature.

    • [Feature] Added new batch operation: clear cache
    • [Feature] Back up permission flags (restoring is not currently possible)
    • [Feature] Display permission flags on long clicking on a supported permission item
    • [Feature] Improved uses features tab: Unavailable features have light-red color, unavailable but required features have dark-red color
    • [Feature] Updated focusability in some pages to improve keyboard/remote navigation
    • [Feature] Updated libraries and trackers
    • [Fix] Added backward compatibility for ADB over TCP
    • [Fix] Fixed filter out in log viewer
    • [Fix] Fixed MIUI-specific app ops issue in Android 11
    • [Fix] Fixed relative path issue in back up/restore
    • [Fix] Fixed returning the wrong manifest if the APK has multiple manifests
    • [Fix] Added workaround for Android KeyStore bug in older Android versions
    • [Crash] Display error message instead of crashing in the activity interceptor page
    • [Crash] Fixed random crashes in the app info page
    • [Crash] On trying to uninstall an app in Android Lollipop
    • [Crash] When configuring RSA encryption or signing info
    • [Crash] When a package has changed but the executor has been shutdown
    • [Crash] When a package has changed after exiting its app info page
    • [Crash] NPE on running apps page

    Note Aurora Store 4.0.6 reverted promotional apps, therefore, the support has been re-added. Only 4.0.5 is unsupported.

    Full list of changes: v2.6.1...v2.6.2

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.6.2.apk(7.77 MB)
    AppManager_v2.6.2.apks(6.00 MB)
  • v2.6.1(May 31, 2021)

    This patch release contains bug fixes and minor features. It also provides fixes for a few security vulnerabilities. Therefore, it is recommended for all users. Crash-related fixes are annotated with [Crash].

    • New Feature: Wireless debugging for Android 11. Due to licensing issues, ADB pairing couldn't be implemented. See notes below.
    • Improvement: Fixed various issues with mode of operations, especially ADB
    • Improvement: Fixed loading app list in some Android 6 devices
    • Improvement: Improved loading app icons
    • Improvement: Move from RestrictionBypass to HiddenApiBypass, saves more than 300 KB
    • [Feature] Added more debloat profiles: Fujitsu, HTC, Korean and Japanese carriers, Tencent, Toshiba and Vivo. They are added from different sources and are not well-tested.
    • [Feature] Added support for ADB via TLS-1.3
    • [Feature] Added date-time in the backup info dialog prompt
    • [Feature] Display APK verification status in the scanner page
    • [Feature] Display suspended and hidden tags for the respective apps in the app info tab
    • [Feature] Display unknown netpolicies and Lineage OS specific netpolicies
    • [Feature] Prompt user to confirm falling back to no-root when root/ADB is not working/detected
    • [Feature] Updated trackers, libraries and translations
    • [Fix] Display changes for the external APK for the same version code
    • [Fix] Display error message as toast if the activity cannot be launched in the interceptor page
    • [Fix] Display “no changes” instead of empty what's new dialog
    • [Fix] Enforced privileged execution of hidden APIs in root/ADB mode
    • [Fix] Fixed backing up external folders for the given user (instead of nothing if the user is not the current user)
    • [Fix] Fixed backing up keystore due to the use of illegal escape characters
    • [Fix] Fixed extracting OBB files for the given user (instead of the current user)
    • [Fix] Fixed importing RSA or signing keys
    • [Fix] Fixed indefinite loading issue in the app info tab if SSAID couldn't be loaded
    • [Fix] Fixed installing apps uninstalled without clearing user data (and signature)
    • [Fix] Fixed listing unsupported app ops
    • [Fix] Fixed opening apps on Aurora Store
    • [Fix] Fixed prompting user to confirm ADB connection even if the user clicked “Always allow from this computer”
    • [Fix] Load app details page for hidden apps
    • [Fix] Made the key name in the shared preferences editor dialog scrollable and selectable
    • [Fix] Match running services based on package name and user ID instead of just package name
    • [Fix] Store ADB keys in App Manager keystore
    • [Fix] Skip running remote server in root mode
    • [Crash] On trying to configure RSA encryption
    • [Crash] On trying to open an uninstalled system app when the installer feature is disabled
    • [Crash] On trying to open the permissions tab on Android 12
    • [Crash] On trying to reopen the interceptor
    • [Crash] On searching in the main page with certain character combinations
    • [Crash] On trying to save logs in a zip file
    • [Crash] When external storage is not available for writing logs

    Notes

    In order to use wireless debugging, first enable ADB over TCP as usual and select Always allow from this computer. When App Manager is working on this mode, enable wireless debugging, and then, go to App Manager settings and change Mode of Operations to Wireless Debugging. At this point, App Manager should display a prompt where the port number from the wireless debugging window should be inserted. With this mode enabled, App Manager will display this prompt everytime it requires the port number. As always, remember to disable wireless debugging once App Manager's initialization screen goes away. Unless you're using MIUI, you won't need to enable wireless debugging until the next restart.

    Aurora Store 4.0.5 (and later) have introduced promotional apps. As a result, we stopped supporting these versions. You can still use the previous versions without issues.

    Full list of changes: v2.6.0...v2.6.1

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.6.1.apk(7.74 MB)
    AppManager_v2.6.1.apks(5.98 MB)
  • v2.6.0(Apr 25, 2021)

    Introducing Backups Back up/restore feature is now finally out of beta! Read the corresponding guide to understand how it works.

    Introducing Log Viewer Log viewer is essentially a front-end for logcat. It can be used to filter logs by tag or pid (process ID), or even by custom filters. Log levels AKA verbosity can also be configured. You can also save, share and manage logs.

    Lock App Manager Lock App Manager with the screen lock configured for your device.

    Extended Modes for App Ops You can set any mode for any app ops that your device supports, either from the 1-click ops page or from the app ops tab.

    New Batch Ops: Add to Profile You can now easily add selected apps to an existing profile using the batch operations.

    App Info: Improved App info tab now has many options, including the ability to change SSAID, network policy (i.e. background network usage), battery optimization, etc. Most of the tags used in this tab are also clickable, and if you click on them, you will be able to look at the current state or configure them right away.

    Advanced Sort and Filtering Options in the Main Page Sort and filter options are now replaced by List Options which is highly configurable, including the ability to filter using profiles.

    About This Device Interested in knowing about your device in just one page? Go to the bottom of the settings page.

    Enable/disable Features Not interested in all the features that AM offers? You can disable some features in settings.

    New Languages AM now has more than 19 languages! New languages include Arabic, Farsi, Japanese and Traditional Chinese.

    Signing the APK Files You can now import external signing keys in AM! For security, App Manager has its own encrypted KeyStore which can also be imported or exported.

    New Extension: UnAPKM Since APKMirror has removed encryption from their APKM files, it’s no longer necessary to decrypt them. As a result, the option to decrypt APKM files has been removed. Instead, this option is now provided by the UnAPKM extension which you can grab from F-Droid. So, if you have an encrypted APKM file and have this extension installed, you can open the file directly in AM.

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.6.0.apk(7.95 MB)
    AppManager_v2.6.0.apks(6.27 MB)
  • pre-v2.5.24(Mar 21, 2021)

    • [Feature] New language: Tradition Chinese
    • [Feature] Added filter by uninstalled apps, apps without backups in the main page
    • [Feature] Added wildcard support for app ops and permissions for profiles. * can be used instead of specifying app ops or permissions to revoke all configured/dangerous permissions/app ops
    • [Feature] Allow specifying custom installer package which may or may not be installed
    • [Feature] App icons are cached to improve load time
    • [Feature] Complete rewrite of running apps internals in Java
    • [Feature] Copy package name on clicking on the package name in the app info tab
    • [Feature] Display file size, requirement, etc. for split APKs in the APK selection dialog
    • [Feature] Display version and tracker info in the install confirmation dialog
    • [Feature] Display uninstalled system apps and display installation prompt on clicking them
    • [Feature] Improved ADB detection and persistence of such detection
    • [Feature] Removed toybox along with its dependencies
    • [Feature] Updated trackers and libraries
    • [Feature] Updated credits
    • [Feature] Utilise multiple CPUs for back up/restore
    • [Feature] Verify copied checksum with the checksum of the signing certificate of the app on clicking on the app icon in the app info page
    • [Fix] Added additional verifications to ensure that screen lock is not bypassed
    • [Fix] Fixed back up/restore failure on some Android devices
    • [Fix] Fixed crashes in the app details page when system configuration changes
    • [Fix] Fixed crash on creating shortcuts on devices that do not support pin shortcut
    • [Fix] Fixed generating wrong checksum for certificates in the signatures tab
    • [Fix] Fixed uninstalling app for multiple users
    • [Fix] Fixed various crashes on opening APK files from external apps
    • [Fix] Hide backup option if one of the selected apps is not installed
    • [Fix] Verify KeyStore backups during restoring a backup
    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.24.apk(7.57 MB)
    AppManager_v2.5.24.apks(5.87 MB)
  • pre-v2.5.23(Feb 4, 2021)

    • [Feature] Added screen lock
    • [Feature] Added Add to profile in the batch ops and app info tab
    • [Feature] Added enable/disable features in settings (replacing interceptor setting)
    • [Feature] Added leanback launcher support with banner (Android TV)
    • [Feature] Backup/restore SSAID (requires immediate restart)
    • [Feature] Backup APK in external SD card
    • [Feature] AppInfo: Added options to configure battery optimization, net policy, SSAID. For each of them, tag clouds will be displayed if the values are not default.
    • [Feature] AppInfo: Added options to select tracker components to block/unblock
    • [Feature] Improved backup volume selection
    • [Feature] Interceptor: add/remove extras
    • [Feature] Made settings page accessible from Android Settings
    • [Feature] Main: Added filter by installed app, sort by number of trackers and last actions (the latter is not stable yet)
    • [Feature] Main: Batch selection on long click after the selection mode is turned on (i.e. selection mode is turned on if you click on any app icon or long click on any app)
    • [Feature] Main: Replaced sort and filter with list options
    • [Feature] Main: Set backup to red if the app is not installed
    • [Feature] New language: Japanese
    • [Feature] Removed F-Droid, Aurora Droid in favour of F-Droid links (to support user preferred clients)
    • [Feature] Search using app initials in the main page (e.g. TS will list TrebleShot in the search results)
    • [Feature] Updated trackers, libraries, profile presets
    • [Feature] Use of database as a middle man to improve load time
    • [Fix] Fixed app icon (it now matches app theme)
    • [Fix] Fixed crash while blocking app components of a recently updated app
    • [Fix] Fixed various crashes in the app info tab
    • [Fix] Properly sanitize profile names and exported APK(S) file names
    • [Fix] Remove rules for all users (rather than the current user) in settings
    • [Fix] Replaced AppManager/tmp with AppManager/.tmp
    • [Fix] Replaced image buttons with material buttons (fixes crash when using Substratum themes)

    Don't set folders inside /mnt/media_rw/ as the backup volume. It doesn't work for backup/restore.

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.23.apk(9.51 MB)
    AppManager_v2.5.23.apks(7.91 MB)
  • pre-v2.5.22(Jan 16, 2021)

    • 1-Click Ops: add backup/restore options
    • Added encryption info in about device
    • Added the ability to freeze backup (by creating .freeze in the corresponding backup)
    • Added option to enable/disable MagiskHide in the App Info tab (enable option in the overflow menu)
    • Added option to enable/disable interceptor (in settings)
    • Added option to launch services
    • Added option to select backup volume
    • Backup/restore app installer, netpolicy, deviceidle, magiskhide and notification access
    • Backup/restore URI grants (need immediate reboot after the restore)
    • Block and disable components using IFW and PackageManager respectively for maximum protection
    • Grant/revoke permissions in profile
    • Improved instructions in the 1-Click Ops page
    • Integrated docs within AM as a dynamic feature
    • New attribute in backup/restore: size
    • New attribute in profile: users
    • New tag in App Info: backups
    • Open DRM-free APKM files without conversion
    • Sort apps by labels, display user/system tag in the profile page
    • Replace backup all users with custom users
    • Updated trackers and libraries
    • Remove FLAG_ACTIVITY_FORWARD_RESULT from list of flags (if present) in the interceptor
    • Add .nomedia file in the backup folder
    • Fixed crash on clicking the about device item in Settings
    • Fixed crash in the profile page
    • Fixed compatibility issue of IFW in Android M or prior versions
    • Get correct user ID before performing uninstall
    • Migrate to PackageManager API instead of using unreliable pm command
    • Update theme name on changing app theme
    • Use package name from metadata instead of directory name for backups

    Backup/restore feature is now beta. From now on, backward compatibility for backup/restorer will be provided.

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.22.apk(9.02 MB)
    AppManager_v2.5.22.apks(7.49 MB)
  • pre-v2.5.21(Jan 1, 2021)

    • New language: Farsi
    • [Feature] Added about device in the settings page
    • [Feature] Added an install button in the scanner page for the external APK files
    • [Feature] Added the option to set custom app ops and modes in the three-dots menu
    • [Feature] Added shortcut support for Android N_MR1 or less
    • [Feature] Display app ops associated with the declared permissions in the app ops tab
    • [Feature] Display feature availability and version number in the uses features tab
    • [Feature] Display icon for uninstalled but backed up apps in the main page
    • [Feature] Display tracker count in a new line instead of under brackets in the 1-click ops page
    • [Feature] Improved app install time for ADB users
    • [Feature] Migrate to Binder (incomplete)
    • [Feature] Renamed “deny app ops” to “set mode for app ops”, added the option to specify modes in 1-click ops page
    • [Feature] Reordered backup options along with description for each items
    • [Feature] Updated ADBLib
    • [Feature] Updated trackers and libraries
    • [Fix] Fixed crashes of the app ops tab in Android 11
    • [Fix] Fixed crashes of the app ops tab in MIUI
    • [Fix] Fixed prompting users for ADB permission repeatedly when auto is the mode of operation
    • [Fix] Hide launch and shortcut buttons from the activities tab for external APK
    • [Fix] Use both package mode and UID mode for app ops from Android 6
    • [Fix] Use data folder to store server/IPC related files
    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.21-arm64-v8a.apk(5.98 MB)
    AppManager_v2.5.21-armeabi-v7a.apk(5.99 MB)
    AppManager_v2.5.21-x86.apk(6.09 MB)
    AppManager_v2.5.21-x86_64.apk(6.07 MB)
    AppManager_v2.5.21.apk(8.31 MB)
    AppManager_v2.5.21.apks(6.80 MB)
  • v2.5.20(Dec 17, 2020)

    Introducing Profiles

    Profiles finally closes the related issue. Profiles can be used to execute certain tasks repeatedly without doing everything manually. A profile can be applied (or invoked) either from the Profiles page or from the home screen by creating shortcuts. There are also some presets which consist of debloating profiles taken from Universal Android Debloater.

    Known limitations:

    • Exporting rules and applying permissions are not currently working.
    • Profiles are applied for all users.

    The Interceptor

    Intent Intercept works as a man-in-the-middle between source and destination, that is, when you open a file or URL with another app, you can see what is being shared by opening it with Interceptor first. You can also add or modify the intents before sending them to the destination. Additionally, you can double click on any exportable activities in the Activities tab in the App Details page to open them in the Interceptor to add more configurations.

    Known limitation: Editing extras is not currently possible.

    UnAPKM: DeDRM the APKM files

    When I released a small tool called UnAPKM, I promised that similar feature will be available in App Manager. I am proud to announce that you can open APKM files directly in the App Info page or convert them to APKS or install them directly.

    Multiple user

    App manager now supports multiple users! For now, this requires root or ADB. But no-root support is also being considered. If you have multiple users enabled and click on an app installed in multiple profiles, an alert prompt will be displayed where you can select the user.

    Vive la France!

    Thanks to the contributors, we have one more addition to the language club: French. You can add more languages or improve existing translations at Weblate.

    Report crashes

    If App Manager crashes, you can now easily report the crash from the notifications which opens the share options. Crashes are not reported by App Manager, it only redirects you to your favourite Email client.

    Android 11

    Added support for Android 11. Not all things may not work as expected though.

    App Installer Improvements

    Set install locations

    In settings page, you can set install locations such as auto (default), internal only and prefer external.

    Set APK installer

    In settings page, you can also set default APK installer (root/ADB only) instead of App Manager.

    Multiple users

    In settings page, you can allow App Manager to display multiple users during APK installation.

    Signing APK files

    In settings page, you can choose to sign APK files before installing them. You can also select which signature scheme to use in the APK signing option in settings.

    Known limitation: Currently, only a generic key is used to sign APK files

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.20.apk(8.22 MB)
    AppManager_v2.5.20.apks(6.73 MB)
  • pre-v2.5.19(Nov 30, 2020)

    • New feature: Profiles. New profiles can be added either by selecting from one of the presets or simply using the plus button (see below)
    • New feature: Multiple users. You can visit app details page for multiple users (see below). Multiple user support is also added for batch ops
    • New language: French
    • [Feature] Added a settings entry to select mode of operations: auto, no-root, ADB, root
    • [Feature] Added a settings entry to select app installer (default is App Manager)
    • [Feature] Added a settings entry to select app install location (default is auto)
    • [Feature] Added debloating profiles as presets
    • [Feature] Added the ability to block trackers from the corresponding tag in the app info tab
    • [Feature] Prioritize app ops over permissions when available in the uses permission tab
    • [Feature] Update toybox to 0.8.4
    • [Feature] Update trackers and libraries
    • [Fix] Check integrity of the compressed tar files before finalising backup
    • [Fix] Fixed auto detection of root/ADB
    • [Fix] Fixed custom locale settings which wasn't correctly applied to all app components
    • [Fix] Fixed crashes when app details and installer pages are closed before they're loaded
    • [Fix] Fixed restoring bundled apps
    • [Fix] Update compression method on preference change

    Due to some complications, grant/revoking permissions and exporting rules is not working on profiles. Visit https://github.com/MuntashirAkon/AppManager/issues/72 until an official documentation is created.

    The components tabs in the app details page is empty for users other than the current user. This will be fixed in a future release.

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.19-arm64-v8a.apk(5.67 MB)
    AppManager_v2.5.19-armeabi-v7a.apk(5.67 MB)
    AppManager_v2.5.19-x86.apk(5.77 MB)
    AppManager_v2.5.19-x86_64.apk(5.75 MB)
    AppManager_v2.5.19.apk(8.00 MB)
  • pre-v2.5.18(Nov 15, 2020)

    • [Feature] Added crash reporter
    • [Feature] Added filter by running apps in the main page
    • [Feature] Added option to copy lib or tracker info in their respective dialogs
    • [Feature] Added multiple user support for apk installer. To use this, you need to enable it in settings
    • [Feature] Added support for APKM files. Supported activities are: App Info, Installer and UnAPKM
    • [Feature] Display apk selection list on clicking the manifest button for bundled apps
    • [Feature] Display progress dialog until the apk is loaded
    • [Feature] Display split apk info in the App Info tab, not just the split name
    • [Feature] Generalise OpenPGP by replacing it with encryption in settings page
    • [Feature] Replaced red with orange in the tag cloud (in the App Info tab) to improve readability
    • [Feature] Replaced normal selection dialogs with filterable dialogs
    • [Feature] Updated list of libraries and trackers
    • [Feature] Upcoming feature: Profile. This version implements the following features: Create or import new profile, export profile, delete profile, duplicate profile and select apps, remove apps
    • [Fix] Add missing classes while scanning for trackers in the scanner page
    • [Fix] Backup/export support for bundled apps on Android 7 or below
    • [Fix] Completely removed shared libs from what's new
    • [Fix] Fixed crash when an app manifest cannot be read
    • [Fix] Fixed detection of some apk formats
    • [Fix] Fixed running apps page not remembering filters and sort order
    • [Fix] Fixed wrong locale recommendations in apk installer
    • [Fix] Handle empty values on importing blocking rules
    • [Fix] Respect supplied mime type, infer if possible
    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.18-arm64-v8a.apk(5.07 MB)
    AppManager_v2.5.18-armeabi-v7a.apk(5.07 MB)
    AppManager_v2.5.18-x86.apk(5.17 MB)
    AppManager_v2.5.18-x86_64.apk(5.15 MB)
    AppManager_v2.5.18.apk(7.39 MB)
  • v2.5.17(Oct 28, 2020)

    Visit https://muntashirakon.github.io/AppManager/changelog.html for a more helpful changelog.

    All the changes introduced in v2.5.14 to v2.5.16 except backup/restore which is not yet stable.

    • Added an option to uninstall updates from system apps
    • Added Hindi, Polish, Turkish and Ukrainian languages
    • Added lib scanning in the scanner page
    • Added localization and more checksums in the signatures tab
    • Added more undocumented tags on app manifest
    • Added only install option on signature mismatch, useful for devices with signature verification disabled
    • Added sort and filter for backups in the main page
    • Added the option to view system configurations (known as System Config), available in the main page (root only)
    • Added AES encryption/decryption for backup/restore but no GUI is added to configure them yet
    • Backup/restore app ops along with permissions when permissions is checked
    • Display changes on reinstalling an app if the signature of the new apk is different
    • Display confirmation message for non-root users when installing an apk
    • Offer to uninstall & install app again on signature mismatch
    • Recommend splits from the installed app
    • Replaced exodus with scanner
    • Updated the list of trackers
    • Added custom focus instructions for label, pkg name and version in the app info page
    • Display warning if usage access settings can't be opened to prevent crash
    • Don't delete files if they are not decrypted for backup/restore
    • Fixed crash on resume if the manifest is very large
    • Fixed NullPointerException while fetching OpenPGP intent services
    • Fixed scrolling behaviour in the App Info tab
    • Follow symbolic links when backing up app data
    • Increment meta version for backup/restore
    • Mark the base backup for current user on restore by default
    • run-as as root since Termux doesn't support ADB
    • Update permission info on refreshing the uses permissions tab
    • Use pm uninstall for ADB users
    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.17.apk(6.38 MB)
  • pre-v2.5.16(Oct 3, 2020)

    • [Feature] Added a KeyStore tag for apps that has keystore items in the App Info tab. It has red colour if the phone has screen lock
    • [Feature] Added an option to choose between Gzip (default) and BZip2 for backups (in settings)
    • [Feature] Added an option to set presets for backup/restore options (in settings)
    • [Feature] Added backup/restore support using OpenPGP client (such as OpenKeychain)
    • [Feature] Added Portuguese language (and updates for other languages)
    • [Feature] Added sort and filter for running apps
    • [Feature] Allow backup/restore of app permissions (enabled by default)
    • [Feature] Automatically select required/recommended apk files in the apk selection screen for apps with splits (for apk installer)
    • [Feature] Clear existing data before restoring data backups
    • [Feature] Improved navigation using a keyboard (incomplete)
    • [Feature] Migrate to Androidx preference library
    • [Feature] View SELinux context for running apps
    • [Fix] Check for keystore only when data backup is requested
    • [Fix] Fixed wrong memory usage in the running apps
    • [Fix] Prevent installer from hanging indefinitely (actually for 5 hours) when installing a huge (x)apk(s) file
    • [Fix] Prevent false-positive when checking for keystore items for an app
    • [Fix] Removed old am.jar on app update
    • [Fix] Set non-IFW rules based on current user ID
    • [Fix] Store checksums in a different file (that can be encrypted) instead of meta.am.v1
    • [Fix] Use apk-parser to parse manifest of installed apps

    Backup/restore is more or less finalised now. But use it only for testing as the metadata version will be incremented to 2 in the final release.

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.16-arm64-v8a.apk(4.06 MB)
    AppManager_v2.5.16-armeabi-v7a.apk(4.03 MB)
    AppManager_v2.5.16-x86.apk(4.10 MB)
    AppManager_v2.5.16-x86_64.apk(4.10 MB)
    AppManager_v2.5.16.apk(5.69 MB)
  • pre-v2.5.15(Sep 21, 2020)

    • [Feature] Added a tag for running apps in the App Info tab
    • [Feature] Added a tag for system apps installed/injected through Magisk in the App Info tab
    • [Feature] Added Bengali and Norwegian Bokmål (incomplete)
    • [Feature] Added reinstall and downgrade option in the App Info page
    • [Feature] Added option to downgrade for root and ADB users
    • [Feature] Added process state in the Running Apps page
    • [Feature] Added support for OpenPGP clients (such as OpenKeychain). Configure in Settings page (incomplete)
    • [Feature] Display a prompt to input backup name when multiple backups flag is enabled
    • [Feature] Manifest files of external apps are now parsed using apk-parser library
    • [Feature] Offer users to keep app data when uninstalling AM (android 10 or later only)
    • [Feature] Preserve sort order for components, app ops and permissions tabs
    • [Feature] Recommend ABI, locale and density in the split apk chooser dialog
    • [Feature] Save logs file internally at /sdcard/Android/data/io.github.muntashirakon.AppManager/files/cache/am.log>
    • [Feature] Switch to libSu (SuperSu turned out to be backdated despite its revival of late)
    • [Feature] For a single package, display a multiple choice list for deleting backups and a single choice list for restoring backups
    • [Feature] Warn users when taking/deleting/restoring multiple backups
    • [Fix] Add localization for "ok" and "cancel"
    • [Fix] Canceling an update in the what's new finishes the activity
    • [Fix] Changed various strings to increase readability
    • [Fix] Display only the latest backup info in the main page
    • [Fix] Fixed backup app listing
    • [Fix] Fixed broken app ops action in 1-Click Ops page
    • [Fix] Fixed crash in the App Info page if it's visited after uninstalling the app
    • [Fix] Optimized install time for root users
    • [Fix] Prevent the installer from failing if installation is triggered from the App Info page
    • [Fix] Running services now has the highest priority (over blocking/disabling, etc.)
    • [Fix] Rename toybox.so to libtoybox.so
    • [Fix] Use FileDescriptor when available to decrease install time

    Data backup feature is still considered experimental and please do not rely on it to manage your backups yet. If you encounter any problem, please report to me without hesitation.

    Source code(tar.gz)
    Source code(zip)
    AppManager_v2.5.15-arm64-v8a.apk(3.91 MB)
    AppManager_v2.5.15-armeabi-v7a.apk(3.87 MB)
    AppManager_v2.5.15-x86.apk(3.94 MB)
    AppManager_v2.5.15-x86_64.apk(3.94 MB)
    AppManager_v2.5.15.apk(5.53 MB)
Owner
Muntashir Al-Islam
Building a safer world…
Muntashir Al-Islam
Move on provides a complete package from shifting to ride, households to warehouses, packers and movers.

Move On Move on provides a complete package from shifting to ride, households to warehouses, packers and movers. Available on Playstore Packers and Mo

Mausam Singh 5 Feb 1, 2022
Manage pull requests and conduct code reviews in your IDE with full source-tree context.

String Manipulation IntelliJ plugin - https://plugins.jetbrains.com/plugin/2162 Sponsored by Manage pull requests and conduct code reviews in your IDE

Vojtěch Krása 582 Dec 22, 2022
Kotlin Multiplatform (pending KSP support) snapshot (klip) manager for tests

KLIP Kotlin Multiplatform (pending KSP support) snapshot (klip) manager for tests Modules core - runtime library processor - ksp-based annotation proc

Martynas Petuška 23 Nov 25, 2022
GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.

Gradle Play Publisher Gradle Play Publisher is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and

null 3.9k Dec 30, 2022
Helper to upload Gradle Android Artifacts, Gradle Java Artifacts and Gradle Kotlin Artifacts to Maven repositories (JCenter, Maven Central, Corporate staging/snapshot servers and local Maven repositories).

GradleMavenPush Helper to upload Gradle Android Artifacts, Gradle Java Artifacts and Gradle Kotlin Artifacts to Maven repositories (JCenter, Maven Cen

 Vorlonsoft LLC 21 Oct 3, 2022
A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development.

ADB Idea A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development. The following commands are provided: Uninst

Philippe Breault 2k Dec 28, 2022
Maven Plugin for Android Application development and more

ANDROID MAVEN PLUGIN A plugin for Android application development with Apache Maven 3.0.5+ and the Android SDK. Please check out our website for furth

simpligility 1k Jan 4, 2023
Gradle plugin which downloads and manages your Android SDK.

DEPRECATED This plugin is deprecated and is no longer being developed. Tools and dependencies are automatically downloaded using version 2.2.0 of the

Jake Wharton 1.4k Dec 29, 2022
This is an android studio plugin that allows you to creates new color in hex format based on a percentage (0-100) and a base color you specify.

alpha-color Description This is an android studio plugin that allows you to creates new color in hex format based on a percentage (0-100) and a base c

null 1 Nov 12, 2021
🌏 Android/IDEA localization plugin. supports multiple languages and multiple translators.

English | 简体中文 AndroidLocalizePlugin ?? Android/IDEA localization plugin. supports multiple languages and multiple translators. Features Multiple tran

Airsaid 465 Dec 28, 2022
⚡️ Firebase plugins for Capacitor. Supports Android, iOS and the web

Capacitor Firebase ⚡️ Firebase plugins for Capacitor. Supports Android, iOS and the web. Maintainers Maintainer GitHub Social Robin Genz robingenz @ro

Robin Genz 179 Dec 30, 2022
Android plugin to publish bundles and apks to Firebase App Distribution with changelogs

build-publish-plugin A configurable plugin to generate changelogs from tags and publish results into Firebase App Distribution and send changelog to T

KODE 5 Dec 24, 2022
Android gradle version and plugins

android-gradle-plugin Android gradle version and plugins Version catalogs Shared catalogs 를 사용한 android version catalogs 입니다. Usage settings.gradle.kt

null 2 Aug 26, 2022
IntelliJ plugin that provides a modern and powerful byte code analyzer tool window.

IntelliJ Byte Code Analyzer Plugin This IntelliJ plugin provides a modern and powerful byte code analyzer tool window. Its supports Java, Kotlin, Groo

Marcel Kliemannel 29 Nov 9, 2022
Process jacoco reports and print the code coverage to the Azure DevOps

PrintCoverage PrintCoverage plugin allows you easily integrate coverage badge into your Azure DevOps pull requests! How to use In the module build.gra

Intermedia Cloud Communications 4 Oct 15, 2021
🤹 Common Kotlin utilities made for my personal usage, comes with SLF4J utilities, common extensions, common Gradle utilities, and more.

?? common-utils Common Kotlin utilities made for my personal usage, comes with SLF4J utilities, common extensions, ansi-colours, common Gradle utiliti

Noel ʕ •ᴥ•ʔ 6 Dec 2, 2022
Adding support for Factory boy and django packages

This plugin provides some support for Factory Boy Features autocomplete for instances created by factories references to members of instance class Not

Nazareka 3 Dec 19, 2021
A Unified, Modern and Efficient Bukkit plugin framework

LSPlugin ! WARNING ! This project is still under development DO NOT PUT INTO PRODUCTION ENVIRONMENT 一个专门为了 .DP7 群服务器 Charmless 的定制插件框架。未来Charmless的一切开

DP7 Network Works 0 Dec 24, 2021