Skip to content

App Manager For Platform #1404

@Tharow

Description

@Tharow

Support for App Manager to be built-in to a ROM as the installer application.
Uses Build variants to separate platform and standard implementations.
PR: #1935

I will likely to combine FabricatedOverlayBuilder into AMFP as it requires a custom implementation of the Idmap2 service to create the overlays.

Features:

  • Uninstaller
  • Unarchiver / Archiver
  • SSAID Editor Functionality see System Server Impl
  • Session Installer
    • Session Installer Currently works by reading all the data from a session then installing the selected app, needs to be a separate feature for overwriting the session install, under normal situation we need to approve the installation not install it ourselves.
    • Allow installing an app with permissions already configured, can be done with the shell as well, will need to back-port the feature to adb as well.
  • Handling of android.permission.REQUEST_INSTALL_PACKAGE, a discussion of this feature need to be done in depth as besides the cts verification rules there is quite a few ways to handle the use of the permission by apps.
  • Internal or external handling of "known" installer apps, that bypass the install dialog, while there is a install in background feature already in AM is should only be used for known apps so that malicious apps can't background install without user interaction.
  • Override normal "Self Destruct" feature in AM as users can't update platform version on there own, and can't be left without critical feature required by the OS.
  • Override intent list for Interceptor to avoid system crash with two "installers" present.
  • Android.bp and other soong files needed by the lineageOS/AOSP build system.
  • System Server impl of AMServer for interacting with system_system gid and pid directly. also means that AM doesn't require use of id 1000 in manifest if it can access it via server instead.
  • Use System Debugging flag for logging instead of requiring debug build.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions