Skip to content

TheParasiteProject/vendor_google_mainline_modules

Repository files navigation

vendor_google_mainline_modules

Note for Google Play system updates support

Reminder

You should fix VINTF entry missing errors, dlopen failures, system app crashes before you proceed.
Otherwise, Google Play system updates will rollbacks all updates or even causing bootloop.
Mostly, rollbacking/bootlooping occurs if you missed adding VINTF entries in Frameworks Compatibility Matrix or Device Manifest (or both)
that is not marked as optional or important to operate on your system,
or dlopen failed due to missing blobs/symbols,
or frequent system app crashes (e.g. MIUI Camera app).
For kernel version < 4.19, you might want to apply upstream bpf patches and spoofing.

Add support for Google Play system updates

First, you need to track prebuilts/modules_sdk in your manifest,
which should replaces repos under prebuilts/module_sdk/*.

You need to include the config.mk's path to your device.mk

$(call inherit-product-if-exists, vendor/google/mainline_modules/config.mk)

If your device support Google Pixel's Now Playing feature,
you could enable it by setting TARGET_SUPPORTS_NOW_PLAYING := true in your device.mk.

If you don't want to/can't support Google Play system updates,
Set TARGET_SUPPORTS_PREBUILT_UPDATABLE_APEX := false in your device.mk.
This will allows you to use AOSP's source build APEX.

TARGET_SUPPORTS_PREBUILT_UPDATABLE_APEX := false

Initial setup

  • Install xmlstarlet
    • sudo apt install xmlstarlet, sudo pacman -S xmlstarlet, etc. depending on your distribution.
  • Install apktool, make sure its available in PATH
    • https://ibotpeaches.github.io/Apktool/install/
    • Run apktool if framework-res.apk, apktool if SystemUIGoogle.apk to install framework for apktool.
      This is necessary for proper extracting.
      (generally found in /system/framework/, /system_ext/priv-app/)

Extracting / updating extracted overlays

Basically the same as regular extract-files

./extract-files.sh /path/to/a/dump

Removing certain overlays

  • If certain overlays are not required, you can simply add them to exclude-tag.txt, those will be removed from the extracted overlays.

Miscellaneous information

  • The main changes here are the addition of apktool and xmlstarlet, to allow us to extract the necessary overlays from some RROs.
  • Since the process does take a while, to speed it up, all extraction is done in the background.
    This might not be suitable for weaker systems if there is a very high number of overlays to be extracted.

Credits

About

Prebuilt mainline APEX modules

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published